[INFO] fetching crate ruqu-qflg 0.1.32... [INFO] testing ruqu-qflg-0.1.32 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate ruqu-qflg 0.1.32 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate ruqu-qflg 0.1.32 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate ruqu-qflg 0.1.32 [INFO] tweaked toml for crates.io crate ruqu-qflg 0.1.32 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate ruqu-qflg 0.1.32 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate ruqu-qflg 0.1.32 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d0368508bf534cb50378f7da99a21f2ade3d7543e84632ebfcc12b8f19c1b426 [INFO] running `Command { std: "docker" "start" "-a" "d0368508bf534cb50378f7da99a21f2ade3d7543e84632ebfcc12b8f19c1b426", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d0368508bf534cb50378f7da99a21f2ade3d7543e84632ebfcc12b8f19c1b426", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d0368508bf534cb50378f7da99a21f2ade3d7543e84632ebfcc12b8f19c1b426", kill_on_drop: false }` [INFO] [stdout] d0368508bf534cb50378f7da99a21f2ade3d7543e84632ebfcc12b8f19c1b426 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 979db712000dbf177f3d7c5692ae48a7a11b32b8dad16254570cf8153f34bee8 [INFO] running `Command { std: "docker" "start" "-a" "979db712000dbf177f3d7c5692ae48a7a11b32b8dad16254570cf8153f34bee8", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.105 [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling find-msvc-tools v0.1.8 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling zmij v1.0.14 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling cc v1.2.53 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling constant_time_eq v0.4.2 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling blake3 v1.8.3 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling ndarray v0.16.1 [INFO] [stderr] Compiling ruqu-qflg v0.1.32 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/aggregation.rs:182:14 [INFO] [stdout] | [INFO] [stdout] 182 | for (i, g) in gradients.iter().enumerate().skip(1) { [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: unused variable: `n` [INFO] [stdout] --> src/aggregation.rs:264:13 [INFO] [stdout] | [INFO] [stdout] 264 | let n = gradients.len() as f64; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `log_moments` is never read [INFO] [stdout] --> src/privacy.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 353 | pub struct MomentsAccountant { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 359 | log_moments: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MomentsAccountant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:46:25 [INFO] [stdout] | [INFO] [stdout] 46 | DimensionMismatch { expected: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:46:42 [INFO] [stdout] | [INFO] [stdout] 46 | DimensionMismatch { expected: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:62:29 [INFO] [stdout] | [INFO] [stdout] 62 | InsufficientGradients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:62:46 [INFO] [stdout] | [INFO] [stdout] 62 | InsufficientGradients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | TooManyByzantine { detected: usize, threshold: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:74:41 [INFO] [stdout] | [INFO] [stdout] 74 | TooManyByzantine { detected: usize, threshold: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:82:27 [INFO] [stdout] | [INFO] [stdout] 82 | InsufficientClients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:82:44 [INFO] [stdout] | [INFO] [stdout] 82 | InsufficientClients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | BudgetExceeded { current: f64, max: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:98:36 [INFO] [stdout] | [INFO] [stdout] 98 | BudgetExceeded { current: f64, max: f64 }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:142:30 [INFO] [stdout] | [INFO] [stdout] 142 | InvalidStateTransition { from: String, to: String }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:142:44 [INFO] [stdout] | [INFO] [stdout] 142 | InvalidStateTransition { from: String, to: String }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:146:20 [INFO] [stdout] | [INFO] [stdout] 146 | RoundTimeout { round: u64, duration_ms: u64 }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:146:32 [INFO] [stdout] | [INFO] [stdout] 146 | RoundTimeout { round: u64, duration_ms: u64 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:170:26 [INFO] [stdout] | [INFO] [stdout] 170 | EntanglementFailed { fidelity: f64, threshold: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:170:41 [INFO] [stdout] | [INFO] [stdout] 170 | EntanglementFailed { fidelity: f64, threshold: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.77s [INFO] running `Command { std: "docker" "inspect" "979db712000dbf177f3d7c5692ae48a7a11b32b8dad16254570cf8153f34bee8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "979db712000dbf177f3d7c5692ae48a7a11b32b8dad16254570cf8153f34bee8", kill_on_drop: false }` [INFO] [stdout] 979db712000dbf177f3d7c5692ae48a7a11b32b8dad16254570cf8153f34bee8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 38e0d8846c9b57d995419f01b657e665d009c6b2ed236dc5aa25780790921d9c [INFO] running `Command { std: "docker" "start" "-a" "38e0d8846c9b57d995419f01b657e665d009c6b2ed236dc5aa25780790921d9c", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling zerocopy-derive v0.8.33 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling clap_lex v0.7.7 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling clap_builder v4.5.54 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling ndarray v0.16.1 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling clap v4.5.54 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling proptest v1.9.0 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling ruqu-qflg v0.1.32 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/aggregation.rs:182:14 [INFO] [stdout] | [INFO] [stdout] 182 | for (i, g) in gradients.iter().enumerate().skip(1) { [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: unused variable: `n` [INFO] [stdout] --> src/aggregation.rs:264:13 [INFO] [stdout] | [INFO] [stdout] 264 | let n = gradients.len() as f64; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `log_moments` is never read [INFO] [stdout] --> src/privacy.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 353 | pub struct MomentsAccountant { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 359 | log_moments: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MomentsAccountant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:46:25 [INFO] [stdout] | [INFO] [stdout] 46 | DimensionMismatch { expected: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:46:42 [INFO] [stdout] | [INFO] [stdout] 46 | DimensionMismatch { expected: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:62:29 [INFO] [stdout] | [INFO] [stdout] 62 | InsufficientGradients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:62:46 [INFO] [stdout] | [INFO] [stdout] 62 | InsufficientGradients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | TooManyByzantine { detected: usize, threshold: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:74:41 [INFO] [stdout] | [INFO] [stdout] 74 | TooManyByzantine { detected: usize, threshold: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:82:27 [INFO] [stdout] | [INFO] [stdout] 82 | InsufficientClients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:82:44 [INFO] [stdout] | [INFO] [stdout] 82 | InsufficientClients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | BudgetExceeded { current: f64, max: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:98:36 [INFO] [stdout] | [INFO] [stdout] 98 | BudgetExceeded { current: f64, max: f64 }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:142:30 [INFO] [stdout] | [INFO] [stdout] 142 | InvalidStateTransition { from: String, to: String }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:142:44 [INFO] [stdout] | [INFO] [stdout] 142 | InvalidStateTransition { from: String, to: String }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:146:20 [INFO] [stdout] | [INFO] [stdout] 146 | RoundTimeout { round: u64, duration_ms: u64 }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:146:32 [INFO] [stdout] | [INFO] [stdout] 146 | RoundTimeout { round: u64, duration_ms: u64 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:170:26 [INFO] [stdout] | [INFO] [stdout] 170 | EntanglementFailed { fidelity: f64, threshold: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:170:41 [INFO] [stdout] | [INFO] [stdout] 170 | EntanglementFailed { fidelity: f64, threshold: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/aggregation.rs:182:14 [INFO] [stdout] | [INFO] [stdout] 182 | for (i, g) in gradients.iter().enumerate().skip(1) { [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: unused variable: `n` [INFO] [stdout] --> src/aggregation.rs:264:13 [INFO] [stdout] | [INFO] [stdout] 264 | let n = gradients.len() as f64; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1` [INFO] [stdout] --> src/aggregation.rs:540:13 [INFO] [stdout] | [INFO] [stdout] 540 | let r1 = aggregator.aggregate(&g1, &w1).unwrap(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `private` [INFO] [stdout] --> src/privacy.rs:630:13 [INFO] [stdout] | [INFO] [stdout] 630 | let private = mechanism.apply(&gradient).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_private` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `log_moments` is never read [INFO] [stdout] --> src/privacy.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 353 | pub struct MomentsAccountant { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 359 | log_moments: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MomentsAccountant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:46:25 [INFO] [stdout] | [INFO] [stdout] 46 | DimensionMismatch { expected: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:46:42 [INFO] [stdout] | [INFO] [stdout] 46 | DimensionMismatch { expected: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:62:29 [INFO] [stdout] | [INFO] [stdout] 62 | InsufficientGradients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:62:46 [INFO] [stdout] | [INFO] [stdout] 62 | InsufficientGradients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | TooManyByzantine { detected: usize, threshold: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:74:41 [INFO] [stdout] | [INFO] [stdout] 74 | TooManyByzantine { detected: usize, threshold: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:82:27 [INFO] [stdout] | [INFO] [stdout] 82 | InsufficientClients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:82:44 [INFO] [stdout] | [INFO] [stdout] 82 | InsufficientClients { required: usize, actual: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | BudgetExceeded { current: f64, max: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:98:36 [INFO] [stdout] | [INFO] [stdout] 98 | BudgetExceeded { current: f64, max: f64 }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:142:30 [INFO] [stdout] | [INFO] [stdout] 142 | InvalidStateTransition { from: String, to: String }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:142:44 [INFO] [stdout] | [INFO] [stdout] 142 | InvalidStateTransition { from: String, to: String }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:146:20 [INFO] [stdout] | [INFO] [stdout] 146 | RoundTimeout { round: u64, duration_ms: u64 }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:146:32 [INFO] [stdout] | [INFO] [stdout] 146 | RoundTimeout { round: u64, duration_ms: u64 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:170:26 [INFO] [stdout] | [INFO] [stdout] 170 | EntanglementFailed { fidelity: f64, threshold: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/error.rs:170:41 [INFO] [stdout] | [INFO] [stdout] 170 | EntanglementFailed { fidelity: f64, threshold: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 26.34s [INFO] running `Command { std: "docker" "inspect" "38e0d8846c9b57d995419f01b657e665d009c6b2ed236dc5aa25780790921d9c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "38e0d8846c9b57d995419f01b657e665d009c6b2ed236dc5aa25780790921d9c", kill_on_drop: false }` [INFO] [stdout] 38e0d8846c9b57d995419f01b657e665d009c6b2ed236dc5aa25780790921d9c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 52028176ab82db304ac41e6c4a4b9da8055f11e6f562fe33d1a04b39340504cd [INFO] running `Command { std: "docker" "start" "-a" "52028176ab82db304ac41e6c4a4b9da8055f11e6f562fe33d1a04b39340504cd", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/aggregation.rs:182:14 [INFO] [stderr] | [INFO] [stderr] 182 | for (i, g) in gradients.iter().enumerate().skip(1) { [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: unused variable: `n` [INFO] [stderr] --> src/aggregation.rs:264:13 [INFO] [stderr] | [INFO] [stderr] 264 | let n = gradients.len() as f64; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: field `log_moments` is never read [INFO] [stderr] --> src/privacy.rs:359:5 [INFO] [stderr] | [INFO] [stderr] 353 | pub struct MomentsAccountant { [INFO] [stderr] | ----------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 359 | log_moments: Vec, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `MomentsAccountant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:46:25 [INFO] [stderr] | [INFO] [stderr] 46 | DimensionMismatch { expected: usize, actual: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | #![warn(missing_docs)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:46:42 [INFO] [stderr] | [INFO] [stderr] 46 | DimensionMismatch { expected: usize, actual: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:62:29 [INFO] [stderr] | [INFO] [stderr] 62 | InsufficientGradients { required: usize, actual: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:62:46 [INFO] [stderr] | [INFO] [stderr] 62 | InsufficientGradients { required: usize, actual: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:74:24 [INFO] [stderr] | [INFO] [stderr] 74 | TooManyByzantine { detected: usize, threshold: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:74:41 [INFO] [stderr] | [INFO] [stderr] 74 | TooManyByzantine { detected: usize, threshold: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:82:27 [INFO] [stderr] | [INFO] [stderr] 82 | InsufficientClients { required: usize, actual: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:82:44 [INFO] [stderr] | [INFO] [stderr] 82 | InsufficientClients { required: usize, actual: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:98:22 [INFO] [stderr] | [INFO] [stderr] 98 | BudgetExceeded { current: f64, max: f64 }, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:98:36 [INFO] [stderr] | [INFO] [stderr] 98 | BudgetExceeded { current: f64, max: f64 }, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:142:30 [INFO] [stderr] | [INFO] [stderr] 142 | InvalidStateTransition { from: String, to: String }, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:142:44 [INFO] [stderr] | [INFO] [stderr] 142 | InvalidStateTransition { from: String, to: String }, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:146:20 [INFO] [stderr] | [INFO] [stderr] 146 | RoundTimeout { round: u64, duration_ms: u64 }, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:146:32 [INFO] [stderr] | [INFO] [stderr] 146 | RoundTimeout { round: u64, duration_ms: u64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:170:26 [INFO] [stderr] | [INFO] [stderr] 170 | EntanglementFailed { fidelity: f64, threshold: f64 }, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:170:41 [INFO] [stderr] | [INFO] [stderr] 170 | EntanglementFailed { fidelity: f64, threshold: f64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ruqu-qflg` (lib) generated 19 warnings (run `cargo fix --lib -p ruqu-qflg` to apply 2 suggestions) [INFO] [stderr] warning: unused variable: `r1` [INFO] [stderr] --> src/aggregation.rs:540:13 [INFO] [stderr] | [INFO] [stderr] 540 | let r1 = aggregator.aggregate(&g1, &w1).unwrap(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `private` [INFO] [stderr] --> src/privacy.rs:630:13 [INFO] [stderr] | [INFO] [stderr] 630 | let private = mechanism.apply(&gradient).unwrap(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_private` [INFO] [stderr] [INFO] [stderr] warning: `ruqu-qflg` (lib test) generated 21 warnings (19 duplicates) (run `cargo fix --lib -p ruqu-qflg --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ruqu_qflg-f35f819732170bbb) [INFO] [stdout] [INFO] [stdout] running 102 tests [INFO] [stdout] test aggregation::tests::test_dimension_mismatch_error ... ok [INFO] [stdout] test aggregation::tests::test_aggregation_stats ... ok [INFO] [stdout] test aggregation::tests::test_gradient_norm ... ok [INFO] [stdout] test aggregation::tests::test_gradient_similarity ... ok [INFO] [stdout] test aggregation::tests::test_masked_aggregation ... ok [INFO] [stdout] test aggregation::tests::test_empty_gradients_error ... ok [INFO] [stdout] test aggregation::tests::test_momentum_aggregator ... ok [INFO] [stdout] test aggregation::tests::test_momentum ... ok [INFO] [stdout] test aggregation::tests::test_negative_weight_error ... ok [INFO] [stdout] test aggregation::tests::test_nesterov_momentum ... ok [INFO] [stdout] test aggregation::tests::test_gradient_clipping ... ok [INFO] [stdout] test aggregation::tests::test_secure_aggregator ... ok [INFO] [stdout] test aggregation::tests::test_weight_decay ... ok [INFO] [stdout] test aggregation::tests::test_pairwise_distances ... ok [INFO] [stdout] test aggregation::tests::test_weighted_average_basic ... ok [INFO] [stdout] test aggregation::tests::test_weighted_average_unequal_weights ... ok [INFO] [stdout] test byzantine::tests::test_byzantine_stats ... ok [INFO] [stdout] test byzantine::tests::test_coordinate_median_even ... ok [INFO] [stdout] test byzantine::tests::test_coordinate_median_odd ... ok [INFO] [stdout] test byzantine::tests::test_insufficient_clients ... ok [INFO] [stdout] test byzantine::tests::test_invalid_tolerance ... ok [INFO] [stdout] test byzantine::tests::test_detection_with_scores ... ok [INFO] [stdout] test byzantine::tests::test_bulyan_detector ... ok [INFO] [stdout] test byzantine::tests::test_krum_all_honest ... ok [INFO] [stdout] test byzantine::tests::test_krum_detector_basic ... ok [INFO] [stdout] test byzantine::tests::test_max_byzantine_calculation ... ok [INFO] [stdout] test byzantine::tests::test_median_detection ... ok [INFO] [stdout] test byzantine::tests::test_median_detector ... ok [INFO] [stdout] test byzantine::tests::test_multi_krum ... ok [INFO] [stdout] test byzantine::tests::test_multiple_byzantine ... ok [INFO] [stdout] test byzantine::tests::test_trimmed_mean_computation ... ok [INFO] [stdout] test byzantine::tests::test_score_single_gradient ... ok [INFO] [stdout] test byzantine::tests::test_trimmed_mean_detector ... ok [INFO] [stdout] test error::tests::test_aggregation_errors ... ok [INFO] [stdout] test error::tests::test_error_display ... ok [INFO] [stdout] test error::tests::test_byzantine_errors ... ok [INFO] [stdout] test error::tests::test_error_from_serde ... ok [INFO] [stdout] test error::tests::test_privacy_errors ... ok [INFO] [stdout] test error::tests::test_protocol_errors ... ok [INFO] [stdout] test error::tests::test_quantum_errors ... ok [INFO] [stdout] test privacy::tests::test_adaptive_clipper ... ok [INFO] [stdout] test privacy::tests::test_clip_all ... ok [INFO] [stdout] test privacy::tests::test_clipping_factor ... ok [INFO] [stdout] test privacy::tests::test_gaussian_sigma_calibration ... ok [INFO] [stdout] test privacy::tests::test_gradient_clipper ... ok [INFO] [stdout] test privacy::tests::test_gradient_clipper_invalid ... ok [INFO] [stdout] test privacy::tests::test_gaussian_mechanism_basic ... ok [INFO] [stdout] test privacy::tests::test_gradient_clipper_no_clip ... ok [INFO] [stdout] test privacy::tests::test_invalid_config_delta ... ok [INFO] [stdout] test privacy::tests::test_gradient_clipping ... ok [INFO] [stdout] test privacy::tests::test_invalid_config_sensitivity ... ok [INFO] [stdout] test privacy::tests::test_invalid_config_epsilon ... ok [INFO] [stdout] test privacy::tests::test_laplace_scale ... ok [INFO] [stdout] test privacy::tests::test_laplace_mechanism_basic ... ok [INFO] [stdout] test privacy::tests::test_moments_accountant ... ok [INFO] [stdout] test privacy::tests::test_privacy_budget_basic ... ok [INFO] [stdout] test privacy::tests::test_privacy_budget_exceeded ... ok [INFO] [stdout] test privacy::tests::test_privacy_budget_history ... ok [INFO] [stdout] test privacy::tests::test_privacy_budget_reset ... ok [INFO] [stdout] test privacy::tests::test_privacy_config_builder ... ok [INFO] [stdout] test privacy::tests::test_privacy_stats ... ok [INFO] [stdout] test protocol::tests::test_client_registration ... ok [INFO] [stdout] test protocol::tests::test_client_sync_model ... ok [INFO] [stdout] test protocol::tests::test_client_train_local ... ok [INFO] [stdout] test protocol::tests::test_client_unregistration ... ok [INFO] [stdout] test protocol::tests::test_coordinator_config_defaults ... ok [INFO] [stdout] test protocol::tests::test_list_clients ... ok [INFO] [stdout] test protocol::tests::test_protocol_stats ... ok [INFO] [stdout] test protocol::tests::test_federated_client ... ok [INFO] [stdout] test protocol::tests::test_round_already_in_progress ... ok [INFO] [stdout] test protocol::tests::test_round_state_display ... ok [INFO] [stdout] test protocol::tests::test_start_round ... ok [INFO] [stdout] test protocol::tests::test_submit_gradient ... ok [INFO] [stdout] test protocol::tests::test_submit_unregistered_client ... ok [INFO] [stdout] test quantum::tests::test_bell_pair_creation ... ok [INFO] [stdout] test protocol::tests::test_coordinator_creation ... ok [INFO] [stdout] test protocol::tests::test_duplicate_registration ... ok [INFO] [stdout] test quantum::tests::test_bell_pair_verification ... ok [INFO] [stdout] test quantum::tests::test_bell_pair_with_noise ... ok [INFO] [stdout] test quantum::tests::test_cnot_gate ... ok [INFO] [stdout] test protocol::tests::test_full_round ... ok [INFO] [stdout] test quantum::tests::test_coherence_monitor_trend ... ok [INFO] [stdout] test quantum::tests::test_hadamard_gate ... ok [INFO] [stdout] test quantum::tests::test_invalid_qubit_hadamard ... ok [INFO] [stdout] test quantum::tests::test_public_key_access ... ok [INFO] [stdout] test quantum::tests::test_post_quantum_signature ... ok [INFO] [stdout] test quantum::tests::test_qkd_simulator ... ok [INFO] [stdout] test quantum::tests::test_qkd_with_errors ... ok [INFO] [stdout] test quantum::tests::test_quantum_state_measure ... ok [INFO] [stdout] test tests::test_constants ... ok [INFO] [stdout] test tests::test_integration_workflow ... ok [INFO] [stdout] test tests::test_version_constant ... ok [INFO] [stdout] test quantum::tests::test_coherence_monitor ... ok [INFO] [stdout] test quantum::tests::test_qrng_uniform ... ok [INFO] [stdout] test protocol::tests::test_client_info_touch ... ok [INFO] [stdout] test quantum::tests::test_coherence_below_threshold ... ok [INFO] [stdout] test quantum::tests::test_qrng_deterministic_with_seed ... ok [INFO] [stdout] test quantum::tests::test_qrng_bytes ... ok [INFO] [stdout] test quantum::tests::test_quantum_state_creation ... ok [INFO] [stdout] test quantum::tests::test_qrng_noise_vector ... ok [INFO] [stdout] test tests::test_prelude_imports ... ok [INFO] [stdout] test quantum::tests::test_qrng_normal ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 102 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-7b42e2da31a85e30) [INFO] [stdout] [INFO] [stdout] running 35 tests [INFO] [stdout] test test_bell_pair ... ok [INFO] [stdout] test test_bell_pair_with_noise ... ok [INFO] [stdout] test test_coherence_monitor ... ok [INFO] [stdout] test test_complete_round ... ok [INFO] [stdout] test test_client_lifecycle ... ok [INFO] [stdout] test test_full_workflow_with_byzantine ... ok [INFO] [stdout] test test_gaussian_mechanism ... ok [INFO] [stdout] test test_full_protocol_simulation ... ok [INFO] [stdout] test test_byzantine_scores ... ok [INFO] [stdout] test test_momentum_aggregation ... ok [INFO] [stdout] test test_krum_detection ... ok [INFO] [stdout] test test_laplace_mechanism ... ok [INFO] [stdout] test test_median_detection ... ok [INFO] [stdout] test test_post_quantum_signature ... ok [INFO] [stdout] test test_bulyan_aggregation ... ok [INFO] [stdout] test test_fedavg_aggregation ... ok [INFO] [stdout] test test_privacy_budget_across_rounds ... ok [INFO] [stdout] test test_multi_krum_selection ... ok [INFO] [stdout] test test_quantum_rng ... ok [INFO] [stdout] test test_gradient_clipping ... ok [INFO] [stdout] test test_privacy_budget_exhaustion ... ok [INFO] [stdout] test test_privacy_budget_tracking ... ok [INFO] [stdout] test test_qkd_simulator ... ok [INFO] [stdout] test test_coordinator_creation ... ok [INFO] [stdout] test test_federated_client ... ok [INFO] [stdout] test test_round_management ... ok [INFO] [stdout] test test_moments_accountant ... ok [INFO] [stdout] test test_quantum_state ... ok [INFO] [stdout] test test_stats_collection ... ok [INFO] [stdout] test test_trimmed_mean ... ok [INFO] [stdout] test test_quantum_rng_deterministic ... ok [INFO] [stdout] test test_weighted_aggregation ... ok [INFO] [stdout] test test_secure_aggregation ... ok [INFO] [stdout] test test_quantum_noise_for_privacy ... ok [INFO] [stdout] test test_adaptive_clipping ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Doc-tests ruqu_qflg [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test src/lib.rs - prelude (line 150) ... ok [INFO] [stdout] test src/lib.rs - (line 30) ... ok [INFO] [stdout] test src/privacy.rs - privacy (line 15) ... ok [INFO] [stdout] test src/quantum.rs - quantum (line 19) ... ok [INFO] [stdout] test src/protocol.rs - protocol (line 19) ... ok [INFO] [stdout] test src/aggregation.rs - aggregation (line 14) ... ok [INFO] [stdout] test src/byzantine.rs - byzantine (line 16) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.22s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "52028176ab82db304ac41e6c4a4b9da8055f11e6f562fe33d1a04b39340504cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "52028176ab82db304ac41e6c4a4b9da8055f11e6f562fe33d1a04b39340504cd", kill_on_drop: false }` [INFO] [stdout] 52028176ab82db304ac41e6c4a4b9da8055f11e6f562fe33d1a04b39340504cd