[INFO] fetching crate fedimint-ring 0.16.20... [INFO] checking fedimint-ring-0.16.20 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] extracting crate fedimint-ring 0.16.20 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate fedimint-ring 0.16.20 [INFO] finished tweaking crates.io crate fedimint-ring 0.16.20 [INFO] tweaked toml for crates.io crate fedimint-ring 0.16.20 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fedimint-ring 0.16.20 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 41 packages to latest compatible versions [INFO] [stderr] Adding spin v0.5.2 (available: v0.10.0) [INFO] [stderr] Adding untrusted v0.7.1 (available: v0.9.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fa91be04794d82f97ef2d9958cb42dabed8ca8397c811032cc3a24cc6a5abb41 [INFO] running `Command { std: "docker" "start" "-a" "fa91be04794d82f97ef2d9958cb42dabed8ca8397c811032cc3a24cc6a5abb41", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fa91be04794d82f97ef2d9958cb42dabed8ca8397c811032cc3a24cc6a5abb41", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fa91be04794d82f97ef2d9958cb42dabed8ca8397c811032cc3a24cc6a5abb41", kill_on_drop: false }` [INFO] [stdout] fa91be04794d82f97ef2d9958cb42dabed8ca8397c811032cc3a24cc6a5abb41 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bcdcbfbb785983fb2ad66181651e561bb356b103bef633fc5964b8816a4bf6bb [INFO] running `Command { std: "docker" "start" "-a" "bcdcbfbb785983fb2ad66181651e561bb356b103bef633fc5964b8816a4bf6bb", kill_on_drop: false }` [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking untrusted v0.7.1 [INFO] [stderr] Compiling cc v1.2.34 [INFO] [stderr] Compiling fedimint-ring v0.16.20 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> build.rs:625:21 [INFO] [stdout] | [INFO] [stdout] 625 | "x86_64" => ("win64"), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 625 - "x86_64" => ("win64"), [INFO] [stdout] 625 + "x86_64" => "win64", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> build.rs:626:18 [INFO] [stdout] | [INFO] [stdout] 626 | "x86" => ("win32"), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 626 - "x86" => ("win32"), [INFO] [stdout] 626 + "x86" => "win32", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `test_not_for_now` [INFO] [stdout] --> src/aead/chacha.rs:267:7 [INFO] [stdout] | [INFO] [stdout] 267 | #[cfg(test_not_for_now)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_not_for_now)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_not_for_now)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/digest.rs:447:38 [INFO] [stdout] | [INFO] [stdout] 447 | as64: [BigEndian; 512 / 8 / core::mem::size_of::>()], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:67:23 [INFO] [stdout] | [INFO] [stdout] 67 | #![deny(missing_docs, unused_qualifications, variant_size_differences)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 447 - as64: [BigEndian; 512 / 8 / core::mem::size_of::>()], [INFO] [stdout] 447 + as64: [BigEndian; 512 / 8 / size_of::>()], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/digest.rs:448:38 [INFO] [stdout] | [INFO] [stdout] 448 | as32: [BigEndian; 256 / 8 / core::mem::size_of::>()], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 448 - as32: [BigEndian; 256 / 8 / core::mem::size_of::>()], [INFO] [stdout] 448 + as32: [BigEndian; 256 / 8 / size_of::>()], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/endian.rs:17:72 [INFO] [stdout] | [INFO] [stdout] 17 | core::slice::from_raw_parts(x.as_ptr() as *const u8, x.len() * core::mem::size_of::()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 17 - core::slice::from_raw_parts(x.as_ptr() as *const u8, x.len() * core::mem::size_of::()) [INFO] [stdout] 17 + core::slice::from_raw_parts(x.as_ptr() as *const u8, x.len() * size_of::()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/rand.rs:104:34 [INFO] [stdout] | [INFO] [stdout] 104 | pub trait RandomlyConstructable: self::sealed::RandomlyConstructable {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 104 - pub trait RandomlyConstructable: self::sealed::RandomlyConstructable {} [INFO] [stdout] 104 + pub trait RandomlyConstructable: sealed::RandomlyConstructable {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/rand.rs:105:46 [INFO] [stdout] | [INFO] [stdout] 105 | impl RandomlyConstructable for T where T: self::sealed::RandomlyConstructable {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 105 - impl RandomlyConstructable for T where T: self::sealed::RandomlyConstructable {} [INFO] [stdout] 105 + impl RandomlyConstructable for T where T: sealed::RandomlyConstructable {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/rsa/signing.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | error::KeyRejected::invalid_encoding(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 169 - error::KeyRejected::invalid_encoding(), [INFO] [stdout] 169 + KeyRejected::invalid_encoding(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/rsa/signing.rs:316:26 [INFO] [stdout] | [INFO] [stdout] 316 | .map_err(|_| error::KeyRejected::invalid_encoding())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 316 - .map_err(|_| error::KeyRejected::invalid_encoding())?; [INFO] [stdout] 316 + .map_err(|_| KeyRejected::invalid_encoding())?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/rsa/signing.rs:445:24 [INFO] [stdout] | [INFO] [stdout] 445 | return Err(error::KeyRejected::private_modulus_len_not_multiple_of_512_bits()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 445 - return Err(error::KeyRejected::private_modulus_len_not_multiple_of_512_bits()); [INFO] [stdout] 445 + return Err(KeyRejected::private_modulus_len_not_multiple_of_512_bits()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/arithmetic/bigint.rs:1615:25 [INFO] [stdout] | [INFO] [stdout] 1615 | let mut r = std::vec::Vec::from(*r_input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:67:23 [INFO] [stdout] | [INFO] [stdout] 67 | #![deny(missing_docs, unused_qualifications, variant_size_differences)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1615 - let mut r = std::vec::Vec::from(*r_input); [INFO] [stdout] 1615 + let mut r = Vec::from(*r_input); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/bssl.rs:46:24 [INFO] [stdout] | [INFO] [stdout] 46 | assert_eq!(mem::size_of::(), mem::size_of::()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 46 - assert_eq!(mem::size_of::(), mem::size_of::()); [INFO] [stdout] 46 + assert_eq!(size_of::(), mem::size_of::()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/bssl.rs:46:56 [INFO] [stdout] | [INFO] [stdout] 46 | assert_eq!(mem::size_of::(), mem::size_of::()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 46 - assert_eq!(mem::size_of::(), mem::size_of::()); [INFO] [stdout] 46 + assert_eq!(mem::size_of::(), size_of::()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/bssl.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | mem::align_of::(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 48 - mem::align_of::(), [INFO] [stdout] 48 + align_of::(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/bssl.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | mem::align_of::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 49 - mem::align_of::() [INFO] [stdout] 49 + align_of::() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `test_not_for_now` [INFO] [stdout] --> src/aead/chacha.rs:267:7 [INFO] [stdout] | [INFO] [stdout] 267 | #[cfg(test_not_for_now)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_not_for_now)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_not_for_now)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/digest.rs:447:38 [INFO] [stdout] | [INFO] [stdout] 447 | as64: [BigEndian; 512 / 8 / core::mem::size_of::>()], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 447 - as64: [BigEndian; 512 / 8 / core::mem::size_of::>()], [INFO] [stdout] 447 + as64: [BigEndian; 512 / 8 / size_of::>()], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/digest.rs:448:38 [INFO] [stdout] | [INFO] [stdout] 448 | as32: [BigEndian; 256 / 8 / core::mem::size_of::>()], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 448 - as32: [BigEndian; 256 / 8 / core::mem::size_of::>()], [INFO] [stdout] 448 + as32: [BigEndian; 256 / 8 / size_of::>()], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/ec/suite_b/ecdh.rs:151:14 [INFO] [stdout] | [INFO] [stdout] 151 | &super::super::ops::p256::COMMON_OPS, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 151 - &super::super::ops::p256::COMMON_OPS, [INFO] [stdout] 151 + &ops::p256::COMMON_OPS, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/ec/suite_b/ecdh.rs:157:14 [INFO] [stdout] | [INFO] [stdout] 157 | &super::super::ops::p384::COMMON_OPS, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 157 - &super::super::ops::p384::COMMON_OPS, [INFO] [stdout] 157 + &ops::p384::COMMON_OPS, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/ec/suite_b/public_key.rs:100:14 [INFO] [stdout] | [INFO] [stdout] 100 | &ops::p256::PUBLIC_KEY_OPS [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 100 - &ops::p256::PUBLIC_KEY_OPS [INFO] [stdout] 100 + &p256::PUBLIC_KEY_OPS [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/ec/suite_b/public_key.rs:102:14 [INFO] [stdout] | [INFO] [stdout] 102 | &ops::p384::PUBLIC_KEY_OPS [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 102 - &ops::p384::PUBLIC_KEY_OPS [INFO] [stdout] 102 + &p384::PUBLIC_KEY_OPS [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/endian.rs:17:72 [INFO] [stdout] | [INFO] [stdout] 17 | core::slice::from_raw_parts(x.as_ptr() as *const u8, x.len() * core::mem::size_of::()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 17 - core::slice::from_raw_parts(x.as_ptr() as *const u8, x.len() * core::mem::size_of::()) [INFO] [stdout] 17 + core::slice::from_raw_parts(x.as_ptr() as *const u8, x.len() * size_of::()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/rand.rs:104:34 [INFO] [stdout] | [INFO] [stdout] 104 | pub trait RandomlyConstructable: self::sealed::RandomlyConstructable {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 104 - pub trait RandomlyConstructable: self::sealed::RandomlyConstructable {} [INFO] [stdout] 104 + pub trait RandomlyConstructable: sealed::RandomlyConstructable {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/rand.rs:105:46 [INFO] [stdout] | [INFO] [stdout] 105 | impl RandomlyConstructable for T where T: self::sealed::RandomlyConstructable {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 105 - impl RandomlyConstructable for T where T: self::sealed::RandomlyConstructable {} [INFO] [stdout] 105 + impl RandomlyConstructable for T where T: sealed::RandomlyConstructable {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/rsa/signing.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | error::KeyRejected::invalid_encoding(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 169 - error::KeyRejected::invalid_encoding(), [INFO] [stdout] 169 + KeyRejected::invalid_encoding(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/rsa/signing.rs:316:26 [INFO] [stdout] | [INFO] [stdout] 316 | .map_err(|_| error::KeyRejected::invalid_encoding())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 316 - .map_err(|_| error::KeyRejected::invalid_encoding())?; [INFO] [stdout] 316 + .map_err(|_| KeyRejected::invalid_encoding())?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unnecessary qualification [INFO] [stdout] --> src/rsa/signing.rs:445:24 [INFO] [stdout] | [INFO] [stdout] 445 | return Err(error::KeyRejected::private_modulus_len_not_multiple_of_512_bits()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 445 - return Err(error::KeyRejected::private_modulus_len_not_multiple_of_512_bits()); [INFO] [stdout] 445 + return Err(KeyRejected::private_modulus_len_not_multiple_of_512_bits()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ChunksFixedMut` is never used [INFO] [stdout] --> src/polyfill/chunks_fixed.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait ChunksFixedMut<'a, Chunk> [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cpu_features` is never read [INFO] [stdout] --> src/digest.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub(crate) struct BlockContext { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 49 | cpu_features: cpu::Features, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BlockContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `FromByteArray` is never used [INFO] [stdout] --> src/endian.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait FromByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/arithmetic/bigint.rs:344:19 [INFO] [stdout] | [INFO] [stdout] 344 | fn as_partial(&self) -> PartialModulus { [INFO] [stdout] | ^^^^^ ----------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 344 | fn as_partial(&self) -> PartialModulus<'_, M> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pkcs8.rs:50:21 [INFO] [stdout] | [INFO] [stdout] 50 | fn alg_id_value(&self) -> untrusted::Input { [INFO] [stdout] | ^^^^^ ---------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 50 | fn alg_id_value(&self) -> untrusted::Input<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pkcs8.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn curve_oid(&self) -> untrusted::Input { [INFO] [stdout] | ^^^^^ ---------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 59 | pub fn curve_oid(&self) -> untrusted::Input<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/rsa/signing.rs:418:20 [INFO] [stdout] | [INFO] [stdout] 418 | pub fn modulus(&self) -> io::Positive { [INFO] [stdout] | ^^^^^ ------------ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 418 | pub fn modulus(&self) -> io::Positive<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/rsa/signing.rs:426:21 [INFO] [stdout] | [INFO] [stdout] 426 | pub fn exponent(&self) -> io::Positive { [INFO] [stdout] | ^^^^^ ------------ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 426 | pub fn exponent(&self) -> io::Positive<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fedimint-ring` (lib) due to 8 previous errors; 9 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: trait `ChunksFixedMut` is never used [INFO] [stdout] --> src/polyfill/chunks_fixed.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait ChunksFixedMut<'a, Chunk> [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `into_words_less_safe` is never used [INFO] [stdout] --> src/aead/chacha.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 183 | impl Counter { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 215 | fn into_words_less_safe(self) -> [u32; 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `into_words_less_safe` is never used [INFO] [stdout] --> src/aead/chacha.rs:248:8 [INFO] [stdout] | [INFO] [stdout] 226 | impl Iv { [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 248 | fn into_words_less_safe(self) -> [u32; 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chacha20_ctr32` is never used [INFO] [stdout] --> src/aead/chacha/fallback.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | pub(super) fn chacha20_ctr32( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chacha_core` is never used [INFO] [stdout] --> src/aead/chacha/fallback.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn chacha_core(output: &mut [u8; BLOCK_LEN], input: &State) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quarterround` is never used [INFO] [stdout] --> src/aead/chacha/fallback.rs:90:4 [INFO] [stdout] | [INFO] [stdout] 90 | fn quarterround(x: &mut State, a: usize, b: usize, c: usize, d: usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `State` is never used [INFO] [stdout] --> src/aead/chacha/fallback.rs:102:6 [INFO] [stdout] | [INFO] [stdout] 102 | type State = [u32; BLOCK_LEN]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cpu_features` is never read [INFO] [stdout] --> src/digest.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub(crate) struct BlockContext { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 49 | cpu_features: cpu::Features, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BlockContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `FromByteArray` is never used [INFO] [stdout] --> src/endian.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait FromByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/arithmetic/bigint.rs:344:19 [INFO] [stdout] | [INFO] [stdout] 344 | fn as_partial(&self) -> PartialModulus { [INFO] [stdout] | ^^^^^ ----------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 344 | fn as_partial(&self) -> PartialModulus<'_, M> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: missing documentation for a method [INFO] [stdout] --> src/agreement.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn bytes(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | #![deny(missing_docs, unused_qualifications, variant_size_differences)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pkcs8.rs:50:21 [INFO] [stdout] | [INFO] [stdout] 50 | fn alg_id_value(&self) -> untrusted::Input { [INFO] [stdout] | ^^^^^ ---------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 50 | fn alg_id_value(&self) -> untrusted::Input<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pkcs8.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn curve_oid(&self) -> untrusted::Input { [INFO] [stdout] | ^^^^^ ---------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 59 | pub fn curve_oid(&self) -> untrusted::Input<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/rsa/signing.rs:418:20 [INFO] [stdout] | [INFO] [stdout] 418 | pub fn modulus(&self) -> io::Positive { [INFO] [stdout] | ^^^^^ ------------ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 418 | pub fn modulus(&self) -> io::Positive<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/rsa/signing.rs:426:21 [INFO] [stdout] | [INFO] [stdout] 426 | pub fn exponent(&self) -> io::Positive { [INFO] [stdout] | ^^^^^ ------------ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 426 | pub fn exponent(&self) -> io::Positive<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fedimint-ring` (lib test) due to 18 previous errors; 15 warnings emitted [INFO] running `Command { std: "docker" "inspect" "bcdcbfbb785983fb2ad66181651e561bb356b103bef633fc5964b8816a4bf6bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bcdcbfbb785983fb2ad66181651e561bb356b103bef633fc5964b8816a4bf6bb", kill_on_drop: false }` [INFO] [stdout] bcdcbfbb785983fb2ad66181651e561bb356b103bef633fc5964b8816a4bf6bb