[INFO] cloning repository https://github.com/acmo0/Inner-Product-FE
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/acmo0/Inner-Product-FE" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facmo0%2FInner-Product-FE", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facmo0%2FInner-Product-FE'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0aa433810fc44dd29f65b4e87eb16ad9d0ec50e7
[INFO] testing acmo0/Inner-Product-FE against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facmo0%2FInner-Product-FE" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/acmo0/Inner-Product-FE
[INFO] finished tweaking git repo https://github.com/acmo0/Inner-Product-FE
[INFO] tweaked toml for git repo https://github.com/acmo0/Inner-Product-FE written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/acmo0/Inner-Product-FE on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/acmo0/Inner-Product-FE 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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-5-tc2/source/benches/Cargo.toml: file `/workspace/builds/worker-5-tc2/source/benches/src/bench_ristretto.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bench` target `DDH-EC-FE`
[INFO] [stderr]   * `bench` target `DDH-FF-FE`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 35987cfc51d8fc66035568cb78d372c50093dae8c7e27cff58fc9fbe034ba5cc
[INFO] running `Command { std: "docker" "start" "-a" "35987cfc51d8fc66035568cb78d372c50093dae8c7e27cff58fc9fbe034ba5cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "35987cfc51d8fc66035568cb78d372c50093dae8c7e27cff58fc9fbe034ba5cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "35987cfc51d8fc66035568cb78d372c50093dae8c7e27cff58fc9fbe034ba5cc", kill_on_drop: false }`
[INFO] [stdout] 35987cfc51d8fc66035568cb78d372c50093dae8c7e27cff58fc9fbe034ba5cc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e6deb4f80212ae3cd74c6c8c356fc9edaf2f77d18feafac270f9087df6d8f919
[INFO] running `Command { std: "docker" "start" "-a" "e6deb4f80212ae3cd74c6c8c356fc9edaf2f77d18feafac270f9087df6d8f919", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/benches/Cargo.toml: file `/opt/rustwide/workdir/benches/src/bench_ristretto.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bench` target `DDH-EC-FE`
[INFO] [stderr]   * `bench` target `DDH-FF-FE`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling rustcrypto-ff v0.14.0-rc.0
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling rustcrypto-group v0.14.0-rc.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling curve25519-dalek v5.0.0-pre.6
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]    Compiling hash32 v0.2.1
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling jiff v0.2.19
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling clap_builder v4.5.58
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling env_filter v0.1.4
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling cobs v0.3.0
[INFO] [stderr]    Compiling clap v4.5.58
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling serde-big-array v0.5.1
[INFO] [stderr]    Compiling fuzzy_hashes v0.1.0 (/opt/rustwide/workdir/fuzzy_hashes)
[INFO] [stdout] warning: unused import: `std::ops::BitAnd`
[INFO] [stdout]  --> fuzzy_hashes/src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::BitAnd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Shr`
[INFO] [stdout]   --> fuzzy_hashes/src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::Shr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stdout]  --> fuzzy_hashes/src/nilsimsa.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(test)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POPC` is never used
[INFO] [stdout]   --> fuzzy_hashes/src/nilsimsa.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const POPC: [i16; 256] = [
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling postcard v1.1.3
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling fe v0.1.0 (/opt/rustwide/workdir/fe)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> fe/src/ec_fe.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout] 272 |     let mut i: u16 = 0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> fe/src/ec_fe.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout] 272 |     let mut i: u16 = 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompressedDdhFePublicKey` is never constructed
[INFO] [stdout]   --> fe/src/generic.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct CompressedDdhFePublicKey<const N: usize, U> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> fe/src/ec_fe.rs:269:1
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub type LogTable = HashMap<CompressedRistretto, u16>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> fe/src/lib.rs:1:9
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> fe/src/ec_fe.rs:271:1
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub fn generate_table(generator: RistrettoPoint, bound: u16) -> LogTable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling messages v0.1.0 (/opt/rustwide/workdir/messages)
[INFO] [stderr]    Compiling comparator v0.1.0 (/opt/rustwide/workdir/comparator)
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> comparator/src/traits.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fn compare(&self, encrypted_vector: E) -> T;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> comparator/src/lib.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> messages/src/lib.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum EncryptionResponse<const N: usize> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> messages/src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> messages/src/lib.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     EndOfComparison,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stderr]    Compiling instance-server v0.1.0 (/opt/rustwide/workdir/instance-server)
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> client/src/main.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, BufReader};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> client/src/client.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncWriteExt`
[INFO] [stdout]  --> client/src/client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::AsyncWriteExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CompressedGroupElement`, `PublicKey`, and `curve25519_dalek`
[INFO] [stdout]   --> client/src/client.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | use fe::{PublicKey, curve25519_dalek, CipherText, GroupElement, CompressedGroupElement, LogTable, Scalar};
[INFO] [stdout]    |          ^^^^^^^^^  ^^^^^^^^^^^^^^^^                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> client/src/client.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> client/src/client.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout]  67 | /         loop {
[INFO] [stdout]  68 | |             let encryption_rq = match self.fuzzy_hash {
[INFO] [stdout]  69 | |                 FHVector::NilsimsaVector(_) => postcard::from_bytes::<
[INFO] [stdout]  70 | |                     EncryptionRequest<NILSIMSA_VECTOR_SIZE_BITS, GroupElement>,
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |             log_table = fe::generate_table(alpha * g, 256);
[INFO] [stdout] 111 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 112 |
[INFO] [stdout] 113 |           Ok(i16::MIN)
[INFO] [stdout]     |           ^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> client/src/client.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 |             FHVector::NilsimsaVector(v) => HashComparisonRequest::NILSIMSA,
[INFO] [stdout]    |                                      ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> client/src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut f = File::open(&args.file)?;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> client/src/main.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut hash: FHVector<u8>;
[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]   --> client/src/main.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut stream = TcpStream::connect(&args.compute_addr).await?;
[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]   --> instance-server/src/instance_server.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let mut s = match self.accept_conn().await {
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling compute-server v0.1.0 (/opt/rustwide/workdir/compute-server)
[INFO] [stdout] warning: unused import: `comparator::Comparator`
[INFO] [stdout]   --> compute-server/src/compute_server.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use comparator::Comparator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_frame` and `write_frame` are never used
[INFO] [stdout]    --> compute-server/src/compute_server.rs:151:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl ClientHandler<NILSIMSA_VECTOR_SIZE_BITS> {
[INFO] [stdout]     | --------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 151 |     async fn read_frame(&mut self) -> Result<Vec<u8>> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     async fn write_frame(&mut self, bytes: Vec<u8>) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.23s
[INFO] running `Command { std: "docker" "inspect" "e6deb4f80212ae3cd74c6c8c356fc9edaf2f77d18feafac270f9087df6d8f919", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6deb4f80212ae3cd74c6c8c356fc9edaf2f77d18feafac270f9087df6d8f919", kill_on_drop: false }`
[INFO] [stdout] e6deb4f80212ae3cd74c6c8c356fc9edaf2f77d18feafac270f9087df6d8f919
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 53da7d139fd0d68ce5caa8ffa284840fb154082e78f69f4ad8656d1aa349b13c
[INFO] running `Command { std: "docker" "start" "-a" "53da7d139fd0d68ce5caa8ffa284840fb154082e78f69f4ad8656d1aa349b13c", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/benches/Cargo.toml: file `/opt/rustwide/workdir/benches/src/bench_ristretto.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bench` target `DDH-EC-FE`
[INFO] [stderr]   * `bench` target `DDH-FF-FE`
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stdout] warning: unused import: `std::ops::BitAnd`
[INFO] [stdout]  --> fuzzy_hashes/src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::BitAnd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Shr`
[INFO] [stdout]   --> fuzzy_hashes/src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::Shr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stdout]  --> fuzzy_hashes/src/nilsimsa.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(test)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POPC` is never used
[INFO] [stdout]   --> fuzzy_hashes/src/nilsimsa.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const POPC: [i16; 256] = [
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> fe/src/ec_fe.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout] 272 |     let mut i: u16 = 0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> fe/src/ec_fe.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout] 272 |     let mut i: u16 = 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompressedDdhFePublicKey` is never constructed
[INFO] [stdout]   --> fe/src/generic.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct CompressedDdhFePublicKey<const N: usize, U> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> fe/src/ec_fe.rs:269:1
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub type LogTable = HashMap<CompressedRistretto, u16>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> fe/src/lib.rs:1:9
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> fe/src/ec_fe.rs:271:1
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub fn generate_table(generator: RistrettoPoint, bound: u16) -> LogTable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> messages/src/lib.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum EncryptionResponse<const N: usize> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> messages/src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> messages/src/lib.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     EndOfComparison,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling messages v0.1.0 (/opt/rustwide/workdir/messages)
[INFO] [stderr]    Compiling fuzzy_hashes v0.1.0 (/opt/rustwide/workdir/fuzzy_hashes)
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> comparator/src/traits.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fn compare(&self, encrypted_vector: E) -> T;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> comparator/src/lib.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::BitAnd`
[INFO] [stdout]  --> fuzzy_hashes/src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::BitAnd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Shr`
[INFO] [stdout]   --> fuzzy_hashes/src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::Shr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stdout] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stdout]  --> fuzzy_hashes/src/nilsimsa.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(test)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POPC` is never used
[INFO] [stdout]   --> fuzzy_hashes/src/nilsimsa.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const POPC: [i16; 256] = [
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> messages/src/lib.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum EncryptionResponse<const N: usize> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> messages/src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> messages/src/lib.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     EndOfComparison,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling env_filter v0.1.4
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling compute-server v0.1.0 (/opt/rustwide/workdir/compute-server)
[INFO] [stderr]    Compiling instance-server v0.1.0 (/opt/rustwide/workdir/instance-server)
[INFO] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> client/src/main.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, BufReader};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> client/src/client.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncWriteExt`
[INFO] [stdout]  --> client/src/client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::AsyncWriteExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CompressedGroupElement`, `PublicKey`, and `curve25519_dalek`
[INFO] [stdout]   --> client/src/client.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | use fe::{PublicKey, curve25519_dalek, CipherText, GroupElement, CompressedGroupElement, LogTable, Scalar};
[INFO] [stdout]    |          ^^^^^^^^^  ^^^^^^^^^^^^^^^^                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> client/src/client.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> instance-server/src/instance_server.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let mut s = match self.accept_conn().await {
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `comparator::Comparator`
[INFO] [stdout]   --> compute-server/src/compute_server.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use comparator::Comparator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> client/src/client.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout]  67 | /         loop {
[INFO] [stdout]  68 | |             let encryption_rq = match self.fuzzy_hash {
[INFO] [stdout]  69 | |                 FHVector::NilsimsaVector(_) => postcard::from_bytes::<
[INFO] [stdout]  70 | |                     EncryptionRequest<NILSIMSA_VECTOR_SIZE_BITS, GroupElement>,
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |             log_table = fe::generate_table(alpha * g, 256);
[INFO] [stdout] 111 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 112 |
[INFO] [stdout] 113 |           Ok(i16::MIN)
[INFO] [stdout]     |           ^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> client/src/client.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 |             FHVector::NilsimsaVector(v) => HashComparisonRequest::NILSIMSA,
[INFO] [stdout]    |                                      ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> client/src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut f = File::open(&args.file)?;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> client/src/main.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut hash: FHVector<u8>;
[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]   --> client/src/main.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut stream = TcpStream::connect(&args.compute_addr).await?;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stdout] warning: methods `read_frame` and `write_frame` are never used
[INFO] [stdout]    --> compute-server/src/compute_server.rs:151:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl ClientHandler<NILSIMSA_VECTOR_SIZE_BITS> {
[INFO] [stdout]     | --------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 151 |     async fn read_frame(&mut self) -> Result<Vec<u8>> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     async fn write_frame(&mut self, bytes: Vec<u8>) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.10.0
[INFO] [stderr]    Compiling comparator v0.1.0 (/opt/rustwide/workdir/comparator)
[INFO] [stderr]    Compiling fe v0.1.0 (/opt/rustwide/workdir/fe)
[INFO] [stdout] warning: unused import: `traits::*`
[INFO] [stdout]   --> comparator/src/lib.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     use traits::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> comparator/src/traits.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fn compare(&self, encrypted_vector: E) -> T;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> comparator/src/lib.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> fe/src/ec_fe.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout] 272 |     let mut i: u16 = 0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> fe/src/ec_fe.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout] 272 |     let mut i: u16 = 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompressedDdhFePublicKey` is never constructed
[INFO] [stdout]   --> fe/src/generic.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct CompressedDdhFePublicKey<const N: usize, U> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> fe/src/ec_fe.rs:269:1
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub type LogTable = HashMap<CompressedRistretto, u16>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> fe/src/lib.rs:1:9
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> fe/src/ec_fe.rs:271:1
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub fn generate_table(generator: RistrettoPoint, bound: u16) -> LogTable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 18.67s
[INFO] running `Command { std: "docker" "inspect" "53da7d139fd0d68ce5caa8ffa284840fb154082e78f69f4ad8656d1aa349b13c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53da7d139fd0d68ce5caa8ffa284840fb154082e78f69f4ad8656d1aa349b13c", kill_on_drop: false }`
[INFO] [stdout] 53da7d139fd0d68ce5caa8ffa284840fb154082e78f69f4ad8656d1aa349b13c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b0318f04ef54773cecadf7fa006de91312d025af589d29724e7f8b3e76c5a8e8
[INFO] running `Command { std: "docker" "start" "-a" "b0318f04ef54773cecadf7fa006de91312d025af589d29724e7f8b3e76c5a8e8", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/benches/Cargo.toml: file `/opt/rustwide/workdir/benches/src/bench_ristretto.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bench` target `DDH-EC-FE`
[INFO] [stderr]   * `bench` target `DDH-FF-FE`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> fe/src/ec_fe.rs:272:9
[INFO] [stderr]     |
[INFO] [stderr] 272 |     let mut i: u16 = 0;
[INFO] [stderr]     |         ----^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> fe/src/ec_fe.rs:272:9
[INFO] [stderr]     |
[INFO] [stderr] 272 |     let mut i: u16 = 0;
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CompressedDdhFePublicKey` is never constructed
[INFO] [stderr]   --> fe/src/generic.rs:67:12
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub struct CompressedDdhFePublicKey<const N: usize, U> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a type alias
[INFO] [stderr]    --> fe/src/ec_fe.rs:269:1
[INFO] [stderr]     |
[INFO] [stderr] 269 | pub type LogTable = HashMap<CompressedRistretto, u16>;
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> fe/src/lib.rs:1:9
[INFO] [stderr]     |
[INFO] [stderr]   1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> fe/src/ec_fe.rs:271:1
[INFO] [stderr]     |
[INFO] [stderr] 271 | pub fn generate_table(generator: RistrettoPoint, bound: u16) -> LogTable {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::BitAnd`
[INFO] [stderr]  --> fuzzy_hashes/src/lib.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::ops::BitAnd;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Shr`
[INFO] [stderr]   --> fuzzy_hashes/src/lib.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::ops::Shr;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stderr]  --> fuzzy_hashes/src/nilsimsa.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![feature(test)]
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `POPC` is never used
[INFO] [stderr]   --> fuzzy_hashes/src/nilsimsa.rs:37:7
[INFO] [stderr]    |
[INFO] [stderr] 37 | const POPC: [i16; 256] = [
[INFO] [stderr]    |       ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `fe` (lib) generated 5 warnings (run `cargo fix --lib -p fe` to apply 2 suggestions)
[INFO] [stderr] warning: `fuzzy_hashes` (lib) generated 4 warnings (run `cargo fix --lib -p fuzzy_hashes` to apply 2 suggestions)
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]   --> messages/src/lib.rs:74:1
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub enum EncryptionResponse<const N: usize> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> messages/src/lib.rs:1:9
[INFO] [stderr]    |
[INFO] [stderr]  1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> messages/src/lib.rs:77:5
[INFO] [stderr]    |
[INFO] [stderr] 77 |     EndOfComparison,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]  --> comparator/src/traits.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     fn compare(&self, encrypted_vector: E) -> T;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]  --> comparator/src/lib.rs:1:9
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![warn(missing_docs, rust_2018_idioms)]
[INFO] [stderr]   |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `messages` (lib) generated 2 warnings
[INFO] [stderr] warning: `comparator` (lib) generated 1 warning
[INFO] [stderr] warning: `messages` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: `fuzzy_hashes` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: unused import: `traits::*`
[INFO] [stderr]   --> comparator/src/lib.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 87 |     use traits::*;
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `fe` (lib test) generated 5 warnings (5 duplicates)
[INFO] [stderr] warning: `comparator` (lib test) generated 2 warnings (1 duplicate) (run `cargo fix --lib -p comparator --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `BufRead`
[INFO] [stderr]  --> client/src/main.rs:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::io::{BufRead, BufReader};
[INFO] [stderr]   |               ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::error::Error`
[INFO] [stderr]  --> client/src/client.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::error::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::io::AsyncWriteExt`
[INFO] [stderr]  --> client/src/client.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use tokio::io::AsyncWriteExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CompressedGroupElement`, `PublicKey`, and `curve25519_dalek`
[INFO] [stderr]   --> client/src/client.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | use fe::{PublicKey, curve25519_dalek, CipherText, GroupElement, CompressedGroupElement, LogTable, Scalar};
[INFO] [stderr]    |          ^^^^^^^^^  ^^^^^^^^^^^^^^^^                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> client/src/client.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> client/src/client.rs:113:9
[INFO] [stderr]     |
[INFO] [stderr]  67 | /         loop {
[INFO] [stderr]  68 | |             let encryption_rq = match self.fuzzy_hash {
[INFO] [stderr]  69 | |                 FHVector::NilsimsaVector(_) => postcard::from_bytes::<
[INFO] [stderr]  70 | |                     EncryptionRequest<NILSIMSA_VECTOR_SIZE_BITS, GroupElement>,
[INFO] [stderr] ...   |
[INFO] [stderr] 110 | |             log_table = fe::generate_table(alpha * g, 256);
[INFO] [stderr] 111 | |         }
[INFO] [stderr]     | |_________- any code following this expression is unreachable
[INFO] [stderr] 112 |
[INFO] [stderr] 113 |           Ok(i16::MIN)
[INFO] [stderr]     |           ^^^^^^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]   --> client/src/client.rs:51:38
[INFO] [stderr]    |
[INFO] [stderr] 51 |             FHVector::NilsimsaVector(v) => HashComparisonRequest::NILSIMSA,
[INFO] [stderr]    |                                      ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> client/src/main.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |     let mut f = File::open(&args.file)?;
[INFO] [stderr]    |         ----^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> client/src/main.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 |     let mut hash: FHVector<u8>;
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> client/src/main.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 63 |     let mut stream = TcpStream::connect(&args.compute_addr).await?;
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> instance-server/src/instance_server.rs:31:17
[INFO] [stderr]    |
[INFO] [stderr] 31 |             let mut s = match self.accept_conn().await {
[INFO] [stderr]    |                 ----^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `client` (bin "client" test) generated 10 warnings (run `cargo fix --bin "client" -p client --tests` to apply 9 suggestions)
[INFO] [stderr] warning: `instance-server` (bin "instance-server" test) generated 1 warning (run `cargo fix --bin "instance-server" -p instance-server --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `comparator::Comparator`
[INFO] [stderr]   --> compute-server/src/compute_server.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use comparator::Comparator;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `read_frame` and `write_frame` are never used
[INFO] [stderr]    --> compute-server/src/compute_server.rs:151:14
[INFO] [stderr]     |
[INFO] [stderr] 148 | impl ClientHandler<NILSIMSA_VECTOR_SIZE_BITS> {
[INFO] [stderr]     | --------------------------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 151 |     async fn read_frame(&mut self) -> Result<Vec<u8>> {
[INFO] [stderr]     |              ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 159 |     async fn write_frame(&mut self, bytes: Vec<u8>) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `compute-server` (bin "compute-server" test) generated 2 warnings (run `cargo fix --bin "compute-server" -p compute-server --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/client-f452fdbdafe01870)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/comparator-a02494b93d721fb0)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_correctness has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "b0318f04ef54773cecadf7fa006de91312d025af589d29724e7f8b3e76c5a8e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b0318f04ef54773cecadf7fa006de91312d025af589d29724e7f8b3e76c5a8e8", kill_on_drop: false }`
[INFO] [stdout] b0318f04ef54773cecadf7fa006de91312d025af589d29724e7f8b3e76c5a8e8
