[INFO] cloning repository https://github.com/Janmajayamall/Onion-PIR [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Janmajayamall/Onion-PIR" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJanmajayamall%2FOnion-PIR", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJanmajayamall%2FOnion-PIR'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d013b8a476a292f74f91d23cac25d9d038dc40ce [INFO] testing Janmajayamall/Onion-PIR against try#c066bf6804adc55193b71afdff6a56922f4a8689+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_in_2025-retry-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJanmajayamall%2FOnion-PIR" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Janmajayamall/Onion-PIR [INFO] finished tweaking git repo https://github.com/Janmajayamall/Onion-PIR [INFO] tweaked toml for git repo https://github.com/Janmajayamall/Onion-PIR written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Janmajayamall/Onion-PIR on toolchain c066bf6804adc55193b71afdff6a56922f4a8689 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Janmajayamall/Onion-PIR already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 26a61cbad2dcc45b250c671d9b18fcac36c8e224340628ba2efd577f7e3b4c1e [INFO] running `Command { std: "docker" "start" "-a" "26a61cbad2dcc45b250c671d9b18fcac36c8e224340628ba2efd577f7e3b4c1e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "26a61cbad2dcc45b250c671d9b18fcac36c8e224340628ba2efd577f7e3b4c1e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "26a61cbad2dcc45b250c671d9b18fcac36c8e224340628ba2efd577f7e3b4c1e", kill_on_drop: false }` [INFO] [stdout] 26a61cbad2dcc45b250c671d9b18fcac36c8e224340628ba2efd577f7e3b4c1e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 1e58017ea547d8327f8b4da0d22ac94faefb6c91461a25b47da2b3001e476700 [INFO] running `Command { std: "docker" "start" "-a" "1e58017ea547d8327f8b4da0d22ac94faefb6c91461a25b47da2b3001e476700", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling libm v0.2.5 [INFO] [stderr] Compiling libc v0.2.133 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling typenum v1.15.0 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.16 [INFO] [stderr] Compiling serde v1.0.145 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling spin v0.5.2 [INFO] [stderr] Compiling num-bigint-dig v0.8.1 [INFO] [stderr] Compiling subtle v2.4.1 [INFO] [stderr] Compiling smallvec v1.9.0 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling cpufeatures v0.2.5 [INFO] [stderr] Compiling either v1.8.0 [INFO] [stderr] Compiling matrixmultiply v0.3.2 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling generic-array v0.14.6 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Compiling getrandom v0.2.7 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling crypto-bigint v0.4.9 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling num-complex v0.4.2 [INFO] [stderr] Compiling block-buffer v0.10.3 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling digest v0.10.5 [INFO] [stderr] Compiling sha2 v0.10.6 [INFO] [stderr] Compiling ndarray v0.15.6 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling onion-pir v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/bfv.rs:150:26 [INFO] [stdout] | [INFO] [stdout] 150 | let index2 = (m - pos - 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 150 - let index2 = (m - pos - 1); [INFO] [stdout] 150 + let index2 = m - pos - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/bfv.rs:353:18 [INFO] [stdout] | [INFO] [stdout] 353 | for i in (1..ct.cts.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 353 - for i in (1..ct.cts.len()) { [INFO] [stdout] 353 + for i in 1..ct.cts.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/bfv.rs:495:13 [INFO] [stdout] | [INFO] [stdout] 495 | (self.cts.len() + rhs.cts.len() - 1) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 495 - (self.cts.len() + rhs.cts.len() - 1) [INFO] [stdout] 495 + self.cts.len() + rhs.cts.len() - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bfv.rs:763:12 [INFO] [stdout] | [INFO] [stdout] 763 | if (p.representation == Representation::Ntt) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 763 - if (p.representation == Representation::Ntt) { [INFO] [stdout] 763 + if p.representation == Representation::Ntt { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Encoding` and `modulus::Modulus` [INFO] [stdout] --> src/evaluations.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | bfv::{BfvCipherText, BfvParameters, Encoding, GaliosKey, Plaintext, SecretKey}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 3 | ksk::Ksk, [INFO] [stdout] 4 | modulus::Modulus, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `enumerate` [INFO] [stdout] --> src/evaluations.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use itertools::{enumerate, izip, Itertools}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray::Array2` [INFO] [stdout] --> src/evaluations.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::Array2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `One`, `ToPrimitive`, and `Zero` [INFO] [stdout] --> src/evaluations.rs:14:33 [INFO] [stdout] | [INFO] [stdout] 14 | use num_traits::{FromPrimitive, One, ToPrimitive, Zero}; [INFO] [stdout] | ^^^ ^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Encoding` and `modulus::Modulus` [INFO] [stdout] --> src/ksk.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | bfv::{BfvCipherText, Encoding, Plaintext}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | modulus::Modulus, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Itertools` [INFO] [stdout] --> src/ksk.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | use itertools::{izip, Itertools}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_bigint::BigUint` [INFO] [stdout] --> src/ksk.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use num_bigint::BigUint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::FromPrimitive` [INFO] [stdout] --> src/ksk.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use num_traits::FromPrimitive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::cast::ToPrimitive` [INFO] [stdout] --> src/ntt.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use num_traits::cast::ToPrimitive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/omr.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pvw::{self, PvwCiphertext, PvwParams}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Array2` and `Axis` [INFO] [stdout] --> src/pvw.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use ndarray::{Array2, Axis}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/pvw.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `sync::Arc` and `task::Poll` [INFO] [stdout] --> src/rgsw.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::Arc, task::Poll}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crypto_bigint::rand_core::le` [INFO] [stdout] --> src/rgsw.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crypto_bigint::rand_core::le; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::izip` [INFO] [stdout] --> src/rgsw.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::izip; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_bigint::BigUint` [INFO] [stdout] --> src/rgsw.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use num_bigint::BigUint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sha2::digest::typenum::private::IsLessPrivate` [INFO] [stdout] --> src/rgsw.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use sha2::digest::typenum::private::IsLessPrivate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Encoding` [INFO] [stdout] --> src/rgsw.rs:8:33 [INFO] [stdout] | [INFO] [stdout] 8 | use super::bfv::{BfvCipherText, Encoding}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BfvParameters` and `RqContext` [INFO] [stdout] --> src/rgsw.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | bfv::{BfvParameters, Plaintext, SecretKey}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | ksk::Ksk, [INFO] [stdout] 12 | rq::{Poly, Representation, RqContext}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/rgsw.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::clone` [INFO] [stdout] --> src/rns.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::clone; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/rq.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | modulus::{self, Modulus}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/rq.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::{thread_rng, CryptoRng, RngCore, SeedableRng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `clone`, `error::Error`, `io::Repeat`, and `task::Context` [INFO] [stdout] --> src/rq.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | clone, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 17 | error::Error, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | fmt::Debug, [INFO] [stdout] 19 | io::Repeat, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | task::Context, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/rq.rs:239:15 [INFO] [stdout] | [INFO] [stdout] 239 | while (curr_ctx.next_ctx.is_some()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 239 - while (curr_ctx.next_ctx.is_some()) { [INFO] [stdout] 239 + while curr_ctx.next_ctx.is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/rq.rs:322:26 [INFO] [stdout] | [INFO] [stdout] 322 | for i in (0..self.context.bit_decomposition.l) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 322 - for i in (0..self.context.bit_decomposition.l) { [INFO] [stdout] 322 + for i in 0..self.context.bit_decomposition.l { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/rq.rs:337:50 [INFO] [stdout] | [INFO] [stdout] 337 | izip!(cq.outer_iter()).for_each(|(c)| { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 337 - izip!(cq.outer_iter()).for_each(|(c)| { [INFO] [stdout] 337 + izip!(cq.outer_iter()).for_each(|c| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_bigint::BigUint` [INFO] [stdout] --> src/utils.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use num_bigint::BigUint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Uniform` [INFO] [stdout] --> src/utils.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/utils.rs:293:9 [INFO] [stdout] | [INFO] [stdout] 293 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/utils.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:676:9 [INFO] [stdout] | [INFO] [stdout] 676 | let mut c_0 = &c0_0 * &c1_0; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:677:9 [INFO] [stdout] | [INFO] [stdout] 677 | let mut c_1 = &(&c0_0 * &c1_1) + &(&c1_0 * &c0_1); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:678:9 [INFO] [stdout] | [INFO] [stdout] 678 | let mut c_2 = &c0_1 * &c1_1; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:712:13 [INFO] [stdout] | [INFO] [stdout] 712 | let mut sk_poly = Poly::try_from_vec_i64(&ctx, &sk.coeffs); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bfv_params` [INFO] [stdout] --> src/evaluations.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | bfv_params: &Arc, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bfv_params` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sk` [INFO] [stdout] --> src/evaluations.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | sk: &SecretKey, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dim_index` [INFO] [stdout] --> src/evaluations.rs:192:25 [INFO] [stdout] | [INFO] [stdout] 192 | .for_each(|(dim_index, dim_rgsws)| { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dim_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row_index` [INFO] [stdout] --> src/evaluations.rs:197:28 [INFO] [stdout] | [INFO] [stdout] 197 | .map(|(row_index, db_chunk_cts)| { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `representation` is never read [INFO] [stdout] --> src/rq.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | representation = Representation::Ntt; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decomposed` [INFO] [stdout] --> src/rq.rs:332:25 [INFO] [stdout] | [INFO] [stdout] 332 | let decomposed = decompose_bits(*v, parent_bits as usize, base_bits); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decomposed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/rq.rs:334:25 [INFO] [stdout] | [INFO] [stdout] 334 | let g = poly.slice_mut(s![row_index, col_index, ..]); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/rq.rs:337:51 [INFO] [stdout] | [INFO] [stdout] 337 | izip!(cq.outer_iter()).for_each(|(c)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/rq.rs:372:25 [INFO] [stdout] | [INFO] [stdout] 372 | let mut p = self.clone(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rq.rs:372:21 [INFO] [stdout] | [INFO] [stdout] 372 | let mut p = self.clone(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `poly` [INFO] [stdout] --> src/rq.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 507 | let poly = Poly::zero(ctx, Representation::PowerBasis); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_poly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SecretKey` is never constructed [INFO] [stdout] --> src/bfv.rs:273:12 [INFO] [stdout] | [INFO] [stdout] 273 | pub struct SecretKey { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SecretKey` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bfv.rs:279:12 [INFO] [stdout] | [INFO] [stdout] 278 | impl SecretKey { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 279 | pub fn generate(params: &Arc) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub fn new(coeffs: Vec, params: &Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | pub fn encrypt_poly(&self, pt: &Poly) -> BfvCipherText { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | pub fn encrypt(&self, pt: &Plaintext) -> BfvCipherText { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | pub fn decrypt_trial(&self, ct0: &Poly, ct1: &Poly) -> Poly { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn decrypt(&self, ct: &BfvCipherText) -> Plaintext { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub fn measure_noise(&self, ct: &BfvCipherText) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BfvCiphertext` is never constructed [INFO] [stdout] --> src/bfv.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | pub struct BfvCiphertext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BfvCiphertext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply_with_strategy` is never used [INFO] [stdout] --> src/bfv.rs:657:8 [INFO] [stdout] | [INFO] [stdout] 657 | pub fn multiply_with_strategy( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GaliosKey` is never constructed [INFO] [stdout] --> src/bfv.rs:700:12 [INFO] [stdout] | [INFO] [stdout] 700 | pub struct GaliosKey { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `relinearize` are never used [INFO] [stdout] --> src/bfv.rs:707:12 [INFO] [stdout] | [INFO] [stdout] 706 | impl GaliosKey { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 707 | pub fn new(sk: &SecretKey, i: &Substitution, galios_level: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 725 | pub fn relinearize(&self, ct: &BfvCipherText) -> BfvCipherText { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RelinearizationKey` is never constructed [INFO] [stdout] --> src/bfv.rs:743:12 [INFO] [stdout] | [INFO] [stdout] 743 | pub struct RelinearizationKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `relinearize_poly` are never used [INFO] [stdout] --> src/bfv.rs:749:12 [INFO] [stdout] | [INFO] [stdout] 748 | impl RelinearizationKey { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 749 | pub fn new(sk: &SecretKey, level: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 762 | pub fn relinearize_poly(&self, p: &Poly) -> (Poly, Poly) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `first_dim` and `dim` are never read [INFO] [stdout] --> src/evaluations.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | struct Client { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 18 | first_dim: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | dim: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `encode` are never used [INFO] [stdout] --> src/evaluations.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Client { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 32 | pub fn new(first_dim: usize, dim: usize) -> Client { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn encode( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Server` is never constructed [INFO] [stdout] --> src/evaluations.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | struct Server { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `no_of_cts`, and `decode` are never used [INFO] [stdout] --> src/evaluations.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl Server { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 73 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn no_of_cts(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn decode( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Evaluation` is never constructed [INFO] [stdout] --> src/evaluations.rs:229:8 [INFO] [stdout] | [INFO] [stdout] 229 | struct Evaluation { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `build`, `unpack`, and `gen_x_pows` are never used [INFO] [stdout] --> src/evaluations.rs:235:12 [INFO] [stdout] | [INFO] [stdout] 234 | impl Evaluation { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 235 | pub fn build(sk: &SecretKey, params: &Arc) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn unpack(&self, mut ct: BfvCipherText) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 301 | fn gen_x_pows(n: usize, ctx: &Arc) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ksk` is never constructed [INFO] [stdout] --> src/ksk.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Ksk { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Ksk` 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: enum `KskType` is never used [INFO] [stdout] --> src/ksk.rs:32:6 [INFO] [stdout] | [INFO] [stdout] 32 | enum KskType { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_with_pt`, `new`, `key_switch`, and `try_from_decomposed_rlwes` are never used [INFO] [stdout] --> src/ksk.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Ksk { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 38 | pub fn new_with_pt( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn new(sk: &SecretKey, from: &Poly, ct_level: usize, ksk_level: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn key_switch(&self, poly: &Poly) -> (Poly, Poly) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn try_from_decomposed_rlwes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `inner_product` is never used [INFO] [stdout] --> src/omr.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn inner_product(cts: &Vec, polys: &Vec) -> BfvCipherText { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process` is never used [INFO] [stdout] --> src/omr.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn process() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `n`, `ell`, `m`, `q`, and `variance` are never read [INFO] [stdout] --> src/pvw.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct PvwParams { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 12 | pub n: usize, [INFO] [stdout] | ^ [INFO] [stdout] 13 | pub ell: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 14 | pub m: usize, [INFO] [stdout] | ^ [INFO] [stdout] 15 | pub q: u64, [INFO] [stdout] | ^ [INFO] [stdout] 16 | pub variance: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PvwParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/pvw.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl PvwParams { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 32 | pub fn new() -> PvwParams { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PvwSk` is never constructed [INFO] [stdout] --> src/pvw.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct PvwSk(Vec>); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `gen_sk`, `gen_pk`, and `decrypt` are never used [INFO] [stdout] --> src/pvw.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl PvwSk { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 40 | pub fn gen_sk(params: &PvwParams) -> PvwSk { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn gen_pk(&self, params: &PvwParams) -> PvwPk { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn decrypt(&self, params: &PvwParams, ct: &PvwCiphertext) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PvwPk` is never constructed [INFO] [stdout] --> src/pvw.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 117 | pub struct PvwPk(Vec); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `encrypt` is never used [INFO] [stdout] --> src/pvw.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 119 | impl PvwPk { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 120 | pub fn encrypt(&self, params: &PvwParams, m: Vec) -> PvwCiphertext { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PvwCiphertext` is never constructed [INFO] [stdout] --> src/pvw.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct PvwCiphertext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PvwCiphertext` 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 `RGSW` is never constructed [INFO] [stdout] --> src/rgsw.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct RGSW { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RgswCt` is never constructed [INFO] [stdout] --> src/rgsw.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct RgswCt { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RgswCt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `encrypt_poly`, `encrypt`, `external_product`, and `try_from_ksks` are never used [INFO] [stdout] --> src/rgsw.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl RgswCt { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 28 | pub fn encrypt_poly(sk: &SecretKey, m: &Poly) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn encrypt(sk: &SecretKey, m: &Plaintext) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn external_product(rgsw: &RgswCt, bfv: &BfvCipherText) -> (Poly, Poly) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn try_from_ksks(ksk0: &Ksk, ksk1: &Ksk) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/rq.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 69 | impl BitDecomposition { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 70 | fn new(base: usize, l: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mod_inverse` is never used [INFO] [stdout] --> src/utils.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn mod_inverse(v: u64, q: u64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `D` should have a snake case name [INFO] [stdout] --> src/omr.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | let D = 64; [INFO] [stdout] | ^ help: convert the identifier to snake case: `d` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rq.rs:268:25 [INFO] [stdout] | [INFO] [stdout] 268 | pub fn coefficients(&self) -> ArrayView2 { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 268 | pub fn coefficients(&self) -> ArrayView2<'_, u64> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.43s [INFO] running `Command { std: "docker" "inspect" "1e58017ea547d8327f8b4da0d22ac94faefb6c91461a25b47da2b3001e476700", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1e58017ea547d8327f8b4da0d22ac94faefb6c91461a25b47da2b3001e476700", kill_on_drop: false }` [INFO] [stdout] 1e58017ea547d8327f8b4da0d22ac94faefb6c91461a25b47da2b3001e476700 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 7fbbfba4df8cd25c8426deaead1497dd224aff3496ee7ac87f38b98a3185117f [INFO] running `Command { std: "docker" "start" "-a" "7fbbfba4df8cd25c8426deaead1497dd224aff3496ee7ac87f38b98a3185117f", kill_on_drop: false }` [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/bfv.rs:150:26 [INFO] [stdout] | [INFO] [stdout] 150 | let index2 = (m - pos - 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 150 - let index2 = (m - pos - 1); [INFO] [stdout] 150 + let index2 = m - pos - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/bfv.rs:353:18 [INFO] [stdout] | [INFO] [stdout] 353 | for i in (1..ct.cts.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 353 - for i in (1..ct.cts.len()) { [INFO] [stdout] 353 + for i in 1..ct.cts.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/bfv.rs:495:13 [INFO] [stdout] | [INFO] [stdout] 495 | (self.cts.len() + rhs.cts.len() - 1) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 495 - (self.cts.len() + rhs.cts.len() - 1) [INFO] [stdout] 495 + self.cts.len() + rhs.cts.len() - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bfv.rs:763:12 [INFO] [stdout] | [INFO] [stdout] 763 | if (p.representation == Representation::Ntt) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 763 - if (p.representation == Representation::Ntt) { [INFO] [stdout] 763 + if p.representation == Representation::Ntt { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Encoding` and `modulus::Modulus` [INFO] [stdout] --> src/evaluations.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | bfv::{BfvCipherText, BfvParameters, Encoding, GaliosKey, Plaintext, SecretKey}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 3 | ksk::Ksk, [INFO] [stdout] 4 | modulus::Modulus, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `enumerate` [INFO] [stdout] --> src/evaluations.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use itertools::{enumerate, izip, Itertools}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray::Array2` [INFO] [stdout] --> src/evaluations.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::Array2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `One`, `ToPrimitive`, and `Zero` [INFO] [stdout] --> src/evaluations.rs:14:33 [INFO] [stdout] | [INFO] [stdout] 14 | use num_traits::{FromPrimitive, One, ToPrimitive, Zero}; [INFO] [stdout] | ^^^ ^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Encoding` and `modulus::Modulus` [INFO] [stdout] --> src/ksk.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | bfv::{BfvCipherText, Encoding, Plaintext}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | modulus::Modulus, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Itertools` [INFO] [stdout] --> src/ksk.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | use itertools::{izip, Itertools}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_bigint::BigUint` [INFO] [stdout] --> src/ksk.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use num_bigint::BigUint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::FromPrimitive` [INFO] [stdout] --> src/ksk.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use num_traits::FromPrimitive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::cast::ToPrimitive` [INFO] [stdout] --> src/ntt.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use num_traits::cast::ToPrimitive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/omr.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pvw::{self, PvwCiphertext, PvwParams}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Array2` and `Axis` [INFO] [stdout] --> src/pvw.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use ndarray::{Array2, Axis}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/pvw.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `sync::Arc` and `task::Poll` [INFO] [stdout] --> src/rgsw.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::Arc, task::Poll}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crypto_bigint::rand_core::le` [INFO] [stdout] --> src/rgsw.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crypto_bigint::rand_core::le; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::izip` [INFO] [stdout] --> src/rgsw.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::izip; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_bigint::BigUint` [INFO] [stdout] --> src/rgsw.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use num_bigint::BigUint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sha2::digest::typenum::private::IsLessPrivate` [INFO] [stdout] --> src/rgsw.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use sha2::digest::typenum::private::IsLessPrivate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Encoding` [INFO] [stdout] --> src/rgsw.rs:8:33 [INFO] [stdout] | [INFO] [stdout] 8 | use super::bfv::{BfvCipherText, Encoding}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BfvParameters` and `RqContext` [INFO] [stdout] --> src/rgsw.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | bfv::{BfvParameters, Plaintext, SecretKey}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | ksk::Ksk, [INFO] [stdout] 12 | rq::{Poly, Representation, RqContext}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/rgsw.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::clone` [INFO] [stdout] --> src/rns.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::clone; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/rq.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | modulus::{self, Modulus}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/rq.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::{thread_rng, CryptoRng, RngCore, SeedableRng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `clone`, `error::Error`, `io::Repeat`, and `task::Context` [INFO] [stdout] --> src/rq.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | clone, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 17 | error::Error, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | fmt::Debug, [INFO] [stdout] 19 | io::Repeat, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | task::Context, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/rq.rs:239:15 [INFO] [stdout] | [INFO] [stdout] 239 | while (curr_ctx.next_ctx.is_some()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 239 - while (curr_ctx.next_ctx.is_some()) { [INFO] [stdout] 239 + while curr_ctx.next_ctx.is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/rq.rs:322:26 [INFO] [stdout] | [INFO] [stdout] 322 | for i in (0..self.context.bit_decomposition.l) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 322 - for i in (0..self.context.bit_decomposition.l) { [INFO] [stdout] 322 + for i in 0..self.context.bit_decomposition.l { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/rq.rs:337:50 [INFO] [stdout] | [INFO] [stdout] 337 | izip!(cq.outer_iter()).for_each(|(c)| { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 337 - izip!(cq.outer_iter()).for_each(|(c)| { [INFO] [stdout] 337 + izip!(cq.outer_iter()).for_each(|c| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_bigint::BigUint` [INFO] [stdout] --> src/utils.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use num_bigint::BigUint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Uniform` [INFO] [stdout] --> src/utils.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/utils.rs:293:9 [INFO] [stdout] | [INFO] [stdout] 293 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/utils.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:676:9 [INFO] [stdout] | [INFO] [stdout] 676 | let mut c_0 = &c0_0 * &c1_0; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:677:9 [INFO] [stdout] | [INFO] [stdout] 677 | let mut c_1 = &(&c0_0 * &c1_1) + &(&c1_0 * &c0_1); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:678:9 [INFO] [stdout] | [INFO] [stdout] 678 | let mut c_2 = &c0_1 * &c1_1; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:712:13 [INFO] [stdout] | [INFO] [stdout] 712 | let mut sk_poly = Poly::try_from_vec_i64(&ctx, &sk.coeffs); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bfv_params` [INFO] [stdout] --> src/evaluations.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | bfv_params: &Arc, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bfv_params` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sk` [INFO] [stdout] --> src/evaluations.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | sk: &SecretKey, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dim_index` [INFO] [stdout] --> src/evaluations.rs:192:25 [INFO] [stdout] | [INFO] [stdout] 192 | .for_each(|(dim_index, dim_rgsws)| { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dim_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row_index` [INFO] [stdout] --> src/evaluations.rs:197:28 [INFO] [stdout] | [INFO] [stdout] 197 | .map(|(row_index, db_chunk_cts)| { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `representation` is never read [INFO] [stdout] --> src/rq.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | representation = Representation::Ntt; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decomposed` [INFO] [stdout] --> src/rq.rs:332:25 [INFO] [stdout] | [INFO] [stdout] 332 | let decomposed = decompose_bits(*v, parent_bits as usize, base_bits); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decomposed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/rq.rs:334:25 [INFO] [stdout] | [INFO] [stdout] 334 | let g = poly.slice_mut(s![row_index, col_index, ..]); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/rq.rs:337:51 [INFO] [stdout] | [INFO] [stdout] 337 | izip!(cq.outer_iter()).for_each(|(c)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/rq.rs:372:25 [INFO] [stdout] | [INFO] [stdout] 372 | let mut p = self.clone(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rq.rs:372:21 [INFO] [stdout] | [INFO] [stdout] 372 | let mut p = self.clone(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `poly` [INFO] [stdout] --> src/rq.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 507 | let poly = Poly::zero(ctx, Representation::PowerBasis); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_poly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SecretKey` is never constructed [INFO] [stdout] --> src/bfv.rs:273:12 [INFO] [stdout] | [INFO] [stdout] 273 | pub struct SecretKey { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SecretKey` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bfv.rs:279:12 [INFO] [stdout] | [INFO] [stdout] 278 | impl SecretKey { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 279 | pub fn generate(params: &Arc) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub fn new(coeffs: Vec, params: &Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | pub fn encrypt_poly(&self, pt: &Poly) -> BfvCipherText { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | pub fn encrypt(&self, pt: &Plaintext) -> BfvCipherText { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | pub fn decrypt_trial(&self, ct0: &Poly, ct1: &Poly) -> Poly { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn decrypt(&self, ct: &BfvCipherText) -> Plaintext { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub fn measure_noise(&self, ct: &BfvCipherText) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BfvCiphertext` is never constructed [INFO] [stdout] --> src/bfv.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | pub struct BfvCiphertext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BfvCiphertext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply_with_strategy` is never used [INFO] [stdout] --> src/bfv.rs:657:8 [INFO] [stdout] | [INFO] [stdout] 657 | pub fn multiply_with_strategy( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GaliosKey` is never constructed [INFO] [stdout] --> src/bfv.rs:700:12 [INFO] [stdout] | [INFO] [stdout] 700 | pub struct GaliosKey { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `relinearize` are never used [INFO] [stdout] --> src/bfv.rs:707:12 [INFO] [stdout] | [INFO] [stdout] 706 | impl GaliosKey { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 707 | pub fn new(sk: &SecretKey, i: &Substitution, galios_level: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 725 | pub fn relinearize(&self, ct: &BfvCipherText) -> BfvCipherText { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RelinearizationKey` is never constructed [INFO] [stdout] --> src/bfv.rs:743:12 [INFO] [stdout] | [INFO] [stdout] 743 | pub struct RelinearizationKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `relinearize_poly` are never used [INFO] [stdout] --> src/bfv.rs:749:12 [INFO] [stdout] | [INFO] [stdout] 748 | impl RelinearizationKey { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 749 | pub fn new(sk: &SecretKey, level: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 762 | pub fn relinearize_poly(&self, p: &Poly) -> (Poly, Poly) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `first_dim` and `dim` are never read [INFO] [stdout] --> src/evaluations.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | struct Client { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 18 | first_dim: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | dim: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `encode` are never used [INFO] [stdout] --> src/evaluations.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Client { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 32 | pub fn new(first_dim: usize, dim: usize) -> Client { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn encode( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Server` is never constructed [INFO] [stdout] --> src/evaluations.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | struct Server { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `no_of_cts`, and `decode` are never used [INFO] [stdout] --> src/evaluations.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl Server { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 73 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn no_of_cts(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn decode( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Evaluation` is never constructed [INFO] [stdout] --> src/evaluations.rs:229:8 [INFO] [stdout] | [INFO] [stdout] 229 | struct Evaluation { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `build`, `unpack`, and `gen_x_pows` are never used [INFO] [stdout] --> src/evaluations.rs:235:12 [INFO] [stdout] | [INFO] [stdout] 234 | impl Evaluation { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 235 | pub fn build(sk: &SecretKey, params: &Arc) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn unpack(&self, mut ct: BfvCipherText) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 301 | fn gen_x_pows(n: usize, ctx: &Arc) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ksk` is never constructed [INFO] [stdout] --> src/ksk.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Ksk { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Ksk` 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: enum `KskType` is never used [INFO] [stdout] --> src/ksk.rs:32:6 [INFO] [stdout] | [INFO] [stdout] 32 | enum KskType { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_with_pt`, `new`, `key_switch`, and `try_from_decomposed_rlwes` are never used [INFO] [stdout] --> src/ksk.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Ksk { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 38 | pub fn new_with_pt( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn new(sk: &SecretKey, from: &Poly, ct_level: usize, ksk_level: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn key_switch(&self, poly: &Poly) -> (Poly, Poly) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn try_from_decomposed_rlwes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `inner_product` is never used [INFO] [stdout] --> src/omr.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn inner_product(cts: &Vec, polys: &Vec) -> BfvCipherText { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling onion-pir v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `process` is never used [INFO] [stdout] --> src/omr.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn process() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `n`, `ell`, `m`, `q`, and `variance` are never read [INFO] [stdout] --> src/pvw.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct PvwParams { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 12 | pub n: usize, [INFO] [stdout] | ^ [INFO] [stdout] 13 | pub ell: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 14 | pub m: usize, [INFO] [stdout] | ^ [INFO] [stdout] 15 | pub q: u64, [INFO] [stdout] | ^ [INFO] [stdout] 16 | pub variance: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PvwParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/pvw.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl PvwParams { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 32 | pub fn new() -> PvwParams { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PvwSk` is never constructed [INFO] [stdout] --> src/pvw.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct PvwSk(Vec>); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `gen_sk`, `gen_pk`, and `decrypt` are never used [INFO] [stdout] --> src/pvw.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl PvwSk { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 40 | pub fn gen_sk(params: &PvwParams) -> PvwSk { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn gen_pk(&self, params: &PvwParams) -> PvwPk { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn decrypt(&self, params: &PvwParams, ct: &PvwCiphertext) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PvwPk` is never constructed [INFO] [stdout] --> src/pvw.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 117 | pub struct PvwPk(Vec); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `encrypt` is never used [INFO] [stdout] --> src/pvw.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 119 | impl PvwPk { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 120 | pub fn encrypt(&self, params: &PvwParams, m: Vec) -> PvwCiphertext { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PvwCiphertext` is never constructed [INFO] [stdout] --> src/pvw.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct PvwCiphertext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PvwCiphertext` 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 `RGSW` is never constructed [INFO] [stdout] --> src/rgsw.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct RGSW { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RgswCt` is never constructed [INFO] [stdout] --> src/rgsw.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct RgswCt { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RgswCt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `encrypt_poly`, `encrypt`, `external_product`, and `try_from_ksks` are never used [INFO] [stdout] --> src/rgsw.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl RgswCt { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 28 | pub fn encrypt_poly(sk: &SecretKey, m: &Poly) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn encrypt(sk: &SecretKey, m: &Plaintext) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn external_product(rgsw: &RgswCt, bfv: &BfvCipherText) -> (Poly, Poly) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn try_from_ksks(ksk0: &Ksk, ksk1: &Ksk) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/rq.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 69 | impl BitDecomposition { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 70 | fn new(base: usize, l: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mod_inverse` is never used [INFO] [stdout] --> src/utils.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn mod_inverse(v: u64, q: u64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `D` should have a snake case name [INFO] [stdout] --> src/omr.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | let D = 64; [INFO] [stdout] | ^ help: convert the identifier to snake case: `d` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rq.rs:268:25 [INFO] [stdout] | [INFO] [stdout] 268 | pub fn coefficients(&self) -> ArrayView2 { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 268 | pub fn coefficients(&self) -> ArrayView2<'_, u64> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/bfv.rs:150:26 [INFO] [stdout] | [INFO] [stdout] 150 | let index2 = (m - pos - 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 150 - let index2 = (m - pos - 1); [INFO] [stdout] 150 + let index2 = m - pos - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/bfv.rs:353:18 [INFO] [stdout] | [INFO] [stdout] 353 | for i in (1..ct.cts.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 353 - for i in (1..ct.cts.len()) { [INFO] [stdout] 353 + for i in 1..ct.cts.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/bfv.rs:495:13 [INFO] [stdout] | [INFO] [stdout] 495 | (self.cts.len() + rhs.cts.len() - 1) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 495 - (self.cts.len() + rhs.cts.len() - 1) [INFO] [stdout] 495 + self.cts.len() + rhs.cts.len() - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bfv.rs:763:12 [INFO] [stdout] | [INFO] [stdout] 763 | if (p.representation == Representation::Ntt) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 763 - if (p.representation == Representation::Ntt) { [INFO] [stdout] 763 + if p.representation == Representation::Ntt { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `enumerate` [INFO] [stdout] --> src/evaluations.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use itertools::{enumerate, izip, Itertools}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray::Array2` [INFO] [stdout] --> src/evaluations.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::Array2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `One`, `ToPrimitive`, and `Zero` [INFO] [stdout] --> src/evaluations.rs:14:33 [INFO] [stdout] | [INFO] [stdout] 14 | use num_traits::{FromPrimitive, One, ToPrimitive, Zero}; [INFO] [stdout] | ^^^ ^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::generate_prime` [INFO] [stdout] --> src/evaluations.rs:322:9 [INFO] [stdout] | [INFO] [stdout] 322 | utils::generate_prime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crypto_bigint::rand_core::le` [INFO] [stdout] --> src/evaluations.rs:324:9 [INFO] [stdout] | [INFO] [stdout] 324 | use crypto_bigint::rand_core::le; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray::Axis` [INFO] [stdout] --> src/evaluations.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | use ndarray::Axis; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::FromPrimitive` [INFO] [stdout] --> src/evaluations.rs:327:9 [INFO] [stdout] | [INFO] [stdout] 327 | use num_traits::FromPrimitive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `modulus::Modulus` [INFO] [stdout] --> src/ksk.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | modulus::Modulus, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Itertools` [INFO] [stdout] --> src/ksk.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | use itertools::{izip, Itertools}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_bigint::BigUint` [INFO] [stdout] --> src/ksk.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use num_bigint::BigUint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::cast::ToPrimitive` [INFO] [stdout] --> src/ntt.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use num_traits::cast::ToPrimitive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/omr.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pvw::{self, PvwCiphertext, PvwParams}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Array2` and `Axis` [INFO] [stdout] --> src/pvw.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use ndarray::{Array2, Axis}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `sync::Arc` and `task::Poll` [INFO] [stdout] --> src/rgsw.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::Arc, task::Poll}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crypto_bigint::rand_core::le` [INFO] [stdout] --> src/rgsw.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crypto_bigint::rand_core::le; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::izip` [INFO] [stdout] --> src/rgsw.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::izip; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_bigint::BigUint` [INFO] [stdout] --> src/rgsw.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use num_bigint::BigUint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sha2::digest::typenum::private::IsLessPrivate` [INFO] [stdout] --> src/rgsw.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use sha2::digest::typenum::private::IsLessPrivate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BfvParameters` and `RqContext` [INFO] [stdout] --> src/rgsw.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | bfv::{BfvParameters, Plaintext, SecretKey}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | ksk::Ksk, [INFO] [stdout] 12 | rq::{Poly, Representation, RqContext}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::clone` [INFO] [stdout] --> src/rns.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::clone; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/rq.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | modulus::{self, Modulus}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `clone`, `error::Error`, `io::Repeat`, and `task::Context` [INFO] [stdout] --> src/rq.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | clone, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 17 | error::Error, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | fmt::Debug, [INFO] [stdout] 19 | io::Repeat, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | task::Context, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/rq.rs:239:15 [INFO] [stdout] | [INFO] [stdout] 239 | while (curr_ctx.next_ctx.is_some()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 239 - while (curr_ctx.next_ctx.is_some()) { [INFO] [stdout] 239 + while curr_ctx.next_ctx.is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/rq.rs:322:26 [INFO] [stdout] | [INFO] [stdout] 322 | for i in (0..self.context.bit_decomposition.l) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 322 - for i in (0..self.context.bit_decomposition.l) { [INFO] [stdout] 322 + for i in 0..self.context.bit_decomposition.l { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/rq.rs:337:50 [INFO] [stdout] | [INFO] [stdout] 337 | izip!(cq.outer_iter()).for_each(|(c)| { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 337 - izip!(cq.outer_iter()).for_each(|(c)| { [INFO] [stdout] 337 + izip!(cq.outer_iter()).for_each(|c| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SecretKey` [INFO] [stdout] --> src/rq.rs:681:37 [INFO] [stdout] | [INFO] [stdout] 681 | use crate::bfv::{BfvParameters, SecretKey}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_bigint::BigUint` [INFO] [stdout] --> src/utils.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use num_bigint::BigUint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Uniform` [INFO] [stdout] --> src/utils.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/utils.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:676:9 [INFO] [stdout] | [INFO] [stdout] 676 | let mut c_0 = &c0_0 * &c1_0; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:677:9 [INFO] [stdout] | [INFO] [stdout] 677 | let mut c_1 = &(&c0_0 * &c1_1) + &(&c1_0 * &c0_1); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:678:9 [INFO] [stdout] | [INFO] [stdout] 678 | let mut c_2 = &c0_1 * &c1_1; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bfv.rs:712:13 [INFO] [stdout] | [INFO] [stdout] 712 | let mut sk_poly = Poly::try_from_vec_i64(&ctx, &sk.coeffs); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/bfv.rs:809:13 [INFO] [stdout] | [INFO] [stdout] 809 | let rng = thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bfv_params` [INFO] [stdout] --> src/evaluations.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | bfv_params: &Arc, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bfv_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sk` [INFO] [stdout] --> src/evaluations.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | sk: &SecretKey, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dim_index` [INFO] [stdout] --> src/evaluations.rs:192:25 [INFO] [stdout] | [INFO] [stdout] 192 | .for_each(|(dim_index, dim_rgsws)| { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dim_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row_index` [INFO] [stdout] --> src/evaluations.rs:197:28 [INFO] [stdout] | [INFO] [stdout] 197 | .map(|(row_index, db_chunk_cts)| { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gi` [INFO] [stdout] --> src/evaluations.rs:365:27 [INFO] [stdout] | [INFO] [stdout] 365 | .map(|(index, gi)| unpacked_query_cts[index][0].clone()) [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_gi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/evaluations.rs:422:17 [INFO] [stdout] | [INFO] [stdout] 422 | let mut rng = thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/evaluations.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | let mut rng = thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/evaluations.rs:470:17 [INFO] [stdout] | [INFO] [stdout] 470 | let mut rng = thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/evaluations.rs:470:13 [INFO] [stdout] | [INFO] [stdout] 470 | let mut rng = thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/evaluations.rs:503:13 [INFO] [stdout] | [INFO] [stdout] 503 | let mut rng = thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/evaluations.rs:552:13 [INFO] [stdout] | [INFO] [stdout] 552 | let mut rng = thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/ksk.rs:172:17 [INFO] [stdout] | [INFO] [stdout] 172 | let mut rng = thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ksk.rs:172:13 [INFO] [stdout] | [INFO] [stdout] 172 | let mut rng = thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ksk.rs:191:13 [INFO] [stdout] | [INFO] [stdout] 191 | let mut one_enc = sk.encrypt(&Plaintext::new(¶ms, &vec![1], 0, Encoding::Poly)); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/ksk.rs:199:17 [INFO] [stdout] | [INFO] [stdout] 199 | let mut rng = thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sk_poly` [INFO] [stdout] --> src/ksk.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | let sk_poly = Poly::try_from_vec_i64(¶ms.q_ctxs[0], &sk.coeffs); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sk_poly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ksk.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 199 | let mut rng = thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root` [INFO] [stdout] --> src/ntt.rs:263:13 [INFO] [stdout] | [INFO] [stdout] 263 | let root = primitive_root(size, &moduli); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pvw.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | let mut rng = thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/rgsw.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 246 | let mut rng = thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sk_poly` [INFO] [stdout] --> src/rgsw.rs:254:13 [INFO] [stdout] | [INFO] [stdout] 254 | let sk_poly = Poly::try_from_vec_i64(&ctx, &sk.coeffs); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sk_poly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rgsw.rs:246:13 [INFO] [stdout] | [INFO] [stdout] 246 | let mut rng = thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rgsw.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | let mut m = &Plaintext::new(¶ms, &vec![2], 0, Encoding::Poly); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `representation` is never read [INFO] [stdout] --> src/rq.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | representation = Representation::Ntt; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decomposed` [INFO] [stdout] --> src/rq.rs:332:25 [INFO] [stdout] | [INFO] [stdout] 332 | let decomposed = decompose_bits(*v, parent_bits as usize, base_bits); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decomposed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/rq.rs:334:25 [INFO] [stdout] | [INFO] [stdout] 334 | let g = poly.slice_mut(s![row_index, col_index, ..]); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/rq.rs:337:51 [INFO] [stdout] | [INFO] [stdout] 337 | izip!(cq.outer_iter()).for_each(|(c)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/rq.rs:372:25 [INFO] [stdout] | [INFO] [stdout] 372 | let mut p = self.clone(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rq.rs:372:21 [INFO] [stdout] | [INFO] [stdout] 372 | let mut p = self.clone(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `poly` [INFO] [stdout] --> src/rq.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 507 | let poly = Poly::zero(ctx, Representation::PowerBasis); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_poly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rq.rs:704:17 [INFO] [stdout] | [INFO] [stdout] 704 | let mut q = p.clone(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/bfv.rs:292:12 [INFO] [stdout] | [INFO] [stdout] 278 | impl SecretKey { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 292 | pub fn new(coeffs: Vec, params: &Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BfvCiphertext` is never constructed [INFO] [stdout] --> src/bfv.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | pub struct BfvCiphertext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BfvCiphertext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `no_of_cts` is never used [INFO] [stdout] --> src/evaluations.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 72 | impl Server { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 95 | fn no_of_cts(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `params` is never read [INFO] [stdout] --> src/ksk.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Ksk { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 21 | pub params: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Ksk` 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: enum `KskType` is never used [INFO] [stdout] --> src/ksk.rs:32:6 [INFO] [stdout] | [INFO] [stdout] 32 | enum KskType { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `inner_product` is never used [INFO] [stdout] --> src/omr.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn inner_product(cts: &Vec, polys: &Vec) -> BfvCipherText { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process` is never used [INFO] [stdout] --> src/omr.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn process() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/pvw.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl PvwParams { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 32 | pub fn new() -> PvwParams { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RGSW` is never constructed [INFO] [stdout] --> src/rgsw.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct RGSW { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mod_inverse` is never used [INFO] [stdout] --> src/utils.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn mod_inverse(v: u64, q: u64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `D` should have a snake case name [INFO] [stdout] --> src/omr.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | let D = 64; [INFO] [stdout] | ^ help: convert the identifier to snake case: `d` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rq.rs:268:25 [INFO] [stdout] | [INFO] [stdout] 268 | pub fn coefficients(&self) -> ArrayView2 { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 268 | pub fn coefficients(&self) -> ArrayView2<'_, u64> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbeginS.o" "/tmp/rustcKeOPzf/symbols.o" "<17 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{libtest-*,libgetopts-*,libunicode_width-*,librustc_std_workspace_std-*}.rlib" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/{libsha2-689e38313f0a6ea9.rlib,libcpufeatures-20ef72a8651822b9.rlib,libdigest-9f027442ed0c0d13.rlib,libblock_buffer-3b2cfadb1d678b7e.rlib,libcrypto_common-f35d9cdda463edcc.rlib,libgeneric_array-94ff2b8f5e54f4b4.rlib,libtypenum-dfaa696d06b304f0.rlib,librand_distr-383e53cfb2786494.rlib,libcrypto_bigint-ed6960c977877117.rlib,libsubtle-af5f0d59ba7ae801.rlib,libnum_bigint_dig-205845aa74c5c114.rlib,libnum_iter-13e83d29280de5df.rlib,libbyteorder-dbb73fb0672245d3.rlib,libserde-a17d098411baa62a.rlib,liblazy_static-220b1499835559b3.rlib,libspin-727e07ee1a68c4a1.rlib,libsmallvec-abdedae1f11ab85c.rlib,librand-bd1bf843db17f831.rlib,librand_chacha-c3fb5907096e200a.rlib,libppv_lite86-a9f3c9ee76597f1e.rlib,librand_core-df0eccb83679aeb0.rlib,libgetrandom-fe140328e4dd05be.rlib,liblibc-76e0455a9d5c9efa.rlib,libcfg_if-66d55f6b302e88c8.rlib,libnum_bigint-d7b8af24b826d044.rlib,libndarray-bea1ce41082047e1.rlib,libmatrixmultiply-e76bf7fd3dbef351.rlib,libnum_complex-caddfb3f66543856.rlib,libnum_integer-5c1f2d96b4380038.rlib,libnum_traits-a028d1a348a9059c.rlib,librawpointer-ee8696fe85e6dce4.rlib,libitertools-63549e6d3a929e97.rlib,libeither-34ecda48a7b93acd.rlib}.rlib" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*}.rlib" "-lunwind" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{libcfg_if-*,liblibc-*}.rlib" "-lc" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-L" "/tmp/rustcKeOPzf/raw-dylibs" "-Wl,-Bdynamic" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-nostartfiles" "-L" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained" "-L" "/lib/rustlib/x86_64-unknown-linux-musl/lib" "-o" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/onion_pir-31c3e89f87372c1f" "-Wl,--gc-sections" "-static-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtendS.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: /usr/bin/ld: /opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/libgetrandom-fe140328e4dd05be.rlib(getrandom-fe140328e4dd05be.getrandom.fb685f2033961a2b-cgu.0.rcgu.o): in function `getrandom::util_libc::open_readonly': [INFO] [stdout] /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.7/src/util_libc.rs:150:(.text._ZN9getrandom9util_libc13open_readonly17hf4f61f036ead849eE+0xbc): undefined reference to `open64' [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified [INFO] [stdout] = note: use the `-l` flag to specify native libraries to link [INFO] [stdout] = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#rustc-link-lib) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `onion-pir` (lib test) due to 1 previous error; 81 warnings emitted [INFO] running `Command { std: "docker" "inspect" "7fbbfba4df8cd25c8426deaead1497dd224aff3496ee7ac87f38b98a3185117f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7fbbfba4df8cd25c8426deaead1497dd224aff3496ee7ac87f38b98a3185117f", kill_on_drop: false }` [INFO] [stdout] 7fbbfba4df8cd25c8426deaead1497dd224aff3496ee7ac87f38b98a3185117f