[INFO] fetching crate libcold 0.0.9... [INFO] linting libcold-0.0.9 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate libcold 0.0.9 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate libcold 0.0.9 [INFO] finished tweaking crates.io crate libcold 0.0.9 [INFO] tweaked toml for crates.io crate libcold 0.0.9 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate libcold 0.0.9 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate libcold 0.0.9 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded oqs v0.10.1 [INFO] [stderr] Downloaded build-deps v0.1.4 [INFO] [stderr] Downloaded oqs-sys v0.10.1+liboqs-0.12.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 72a83b9401e9378ccbe47de9020ea30bbc3a172ad01dc8f5accd40fc2e241fe3 [INFO] running `Command { std: "docker" "start" "-a" "72a83b9401e9378ccbe47de9020ea30bbc3a172ad01dc8f5accd40fc2e241fe3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "72a83b9401e9378ccbe47de9020ea30bbc3a172ad01dc8f5accd40fc2e241fe3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "72a83b9401e9378ccbe47de9020ea30bbc3a172ad01dc8f5accd40fc2e241fe3", kill_on_drop: false }` [INFO] [stdout] 72a83b9401e9378ccbe47de9020ea30bbc3a172ad01dc8f5accd40fc2e241fe3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 869ca5ce667fa22c1fca817017105bf650282be4ae1d913ddd8e51612c820f62 [INFO] running `Command { std: "docker" "start" "-a" "869ca5ce667fa22c1fca817017105bf650282be4ae1d913ddd8e51612c820f62", kill_on_drop: false }` [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling libloading v0.8.9 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling bindgen v0.69.5 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling zerocopy v0.8.40 [INFO] [stderr] Compiling oqs v0.10.1 [INFO] [stderr] Compiling build-deps v0.1.4 [INFO] [stderr] Checking cstr_core v0.2.6 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Checking keccak v0.1.6 [INFO] [stderr] Checking generic-array v1.3.5 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling oqs-sys v0.10.1+liboqs-0.12.0 [INFO] [stderr] Checking libcold v0.0.9 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:163:13 [INFO] [stdout] | [INFO] [stdout] 163 | state: state, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | message_locked: message_locked, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `message_locked` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | our_signing_pub_key: our_signing_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_signing_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | our_signing_secret_key: our_signing_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_signing_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:168:13 [INFO] [stdout] | [INFO] [stdout] 168 | contact_signing_pub_key: contact_signing_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_signing_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | our_ml_kem_pub_key: our_ml_kem_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_ml_kem_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | our_ml_kem_secret_key: our_ml_kem_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_ml_kem_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:172:13 [INFO] [stdout] | [INFO] [stdout] 172 | contact_ml_kem_pub_key: contact_ml_kem_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_ml_kem_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | our_mceliece_pub_key: our_mceliece_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_mceliece_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | our_mceliece_secret_key: our_mceliece_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_mceliece_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:176:13 [INFO] [stdout] | [INFO] [stdout] 176 | contact_mceliece_pub_key: contact_mceliece_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_mceliece_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | our_staged_ml_kem_pub_key: our_staged_ml_kem_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_staged_ml_kem_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | our_staged_ml_kem_secret_key: our_staged_ml_kem_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_staged_ml_kem_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | our_staged_mceliece_pub_key: our_staged_mceliece_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_staged_mceliece_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | our_staged_mceliece_secret_key: our_staged_mceliece_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_staged_mceliece_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | our_smp_tmp_pub_key: our_smp_tmp_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_smp_tmp_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | our_smp_tmp_secret_key: our_smp_tmp_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_smp_tmp_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | contact_smp_tmp_pub_key: contact_smp_tmp_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_smp_tmp_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | our_next_strand_key: our_next_strand_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_next_strand_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | our_next_strand_nonce: our_next_strand_nonce, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_next_strand_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:191:13 [INFO] [stdout] | [INFO] [stdout] 191 | contact_next_strand_key: contact_next_strand_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_next_strand_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:192:13 [INFO] [stdout] | [INFO] [stdout] 192 | contact_next_strand_nonce: contact_next_strand_nonce, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_next_strand_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | our_smp_nonce: our_smp_nonce, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | contact_smp_nonce: contact_smp_nonce, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | contact_smp_proof: contact_smp_proof, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_smp_proof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:198:13 [INFO] [stdout] | [INFO] [stdout] 198 | smp_answer: smp_answer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `smp_answer` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 199 | smp_question: smp_question, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `smp_question` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | our_pads: our_pads, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `our_pads` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | contact_pads: contact_pads, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_pads` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | our_hash_chain: our_hash_chain, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_hash_chain` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | contact_hash_chain: contact_hash_chain, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_hash_chain` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | additional_data: additional_data, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `additional_data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:163:13 [INFO] [stdout] | [INFO] [stdout] 163 | state: state, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | message_locked: message_locked, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `message_locked` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | our_signing_pub_key: our_signing_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_signing_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | our_signing_secret_key: our_signing_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_signing_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:168:13 [INFO] [stdout] | [INFO] [stdout] 168 | contact_signing_pub_key: contact_signing_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_signing_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | our_ml_kem_pub_key: our_ml_kem_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_ml_kem_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | our_ml_kem_secret_key: our_ml_kem_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_ml_kem_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:172:13 [INFO] [stdout] | [INFO] [stdout] 172 | contact_ml_kem_pub_key: contact_ml_kem_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_ml_kem_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | our_mceliece_pub_key: our_mceliece_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_mceliece_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | our_mceliece_secret_key: our_mceliece_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_mceliece_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:176:13 [INFO] [stdout] | [INFO] [stdout] 176 | contact_mceliece_pub_key: contact_mceliece_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_mceliece_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | our_staged_ml_kem_pub_key: our_staged_ml_kem_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_staged_ml_kem_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | our_staged_ml_kem_secret_key: our_staged_ml_kem_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_staged_ml_kem_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | our_staged_mceliece_pub_key: our_staged_mceliece_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_staged_mceliece_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | our_staged_mceliece_secret_key: our_staged_mceliece_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_staged_mceliece_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | our_smp_tmp_pub_key: our_smp_tmp_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_smp_tmp_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | our_smp_tmp_secret_key: our_smp_tmp_secret_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_smp_tmp_secret_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | contact_smp_tmp_pub_key: contact_smp_tmp_pub_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_smp_tmp_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | our_next_strand_key: our_next_strand_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_next_strand_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | our_next_strand_nonce: our_next_strand_nonce, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_next_strand_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:191:13 [INFO] [stdout] | [INFO] [stdout] 191 | contact_next_strand_key: contact_next_strand_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_next_strand_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:192:13 [INFO] [stdout] | [INFO] [stdout] 192 | contact_next_strand_nonce: contact_next_strand_nonce, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_next_strand_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | our_smp_nonce: our_smp_nonce, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | contact_smp_nonce: contact_smp_nonce, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | contact_smp_proof: contact_smp_proof, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_smp_proof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:198:13 [INFO] [stdout] | [INFO] [stdout] 198 | smp_answer: smp_answer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `smp_answer` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 199 | smp_question: smp_question, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `smp_question` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | our_pads: our_pads, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `our_pads` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | contact_pads: contact_pads, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_pads` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | our_hash_chain: our_hash_chain, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `our_hash_chain` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | contact_hash_chain: contact_hash_chain, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_hash_chain` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/contact/export_import.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | additional_data: additional_data, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `additional_data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_opt_string` is never used [INFO] [stdout] --> src/contact/export_import.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn write_opt_string(buf: &mut Vec, opt: &Option) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ML_DSA_87_SK_SIZE` is never used [INFO] [stdout] --> src/consts.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const ML_DSA_87_SK_SIZE: usize = 4896; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OTP_MAX_MESSAGE_LEN` is never used [INFO] [stdout] --> src/consts.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | pub const OTP_MAX_MESSAGE_LEN: usize = OTP_PAD_SIZE - OTP_SIZE_LENGTH; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/contact/export_import.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | if &magic_buf != MAGIC { [INFO] [stdout] | ----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `magic_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/export_import.rs:225:35 [INFO] [stdout] | [INFO] [stdout] 225 | buf.extend_from_slice(&z); [INFO] [stdout] | ^^ help: change this to: `z` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ContactState` which implements the `Copy` trait [INFO] [stdout] --> src/contact/clone.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | state: self.state.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/contact/clone.rs:9:29 [INFO] [stdout] | [INFO] [stdout] 9 | message_locked: self.message_locked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.message_locked` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | &answer_secret [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `answer_secret` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:114:41 [INFO] [stdout] | [INFO] [stdout] 114 | inner_payload.extend_from_slice(&signing_pk); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `signing_pk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `as_ref` does nothing [INFO] [stdout] --> src/contact/smp.rs:195:65 [INFO] [stdout] | [INFO] [stdout] 195 | let answer_secret = calculate_answer_secret(smp_answer, contact_smp_nonce.as_ref(), our_smp_nonce.as_slice())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `contact_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stdout] = note: `#[warn(clippy::useless_asref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `as_ref` does nothing [INFO] [stdout] --> src/contact/smp.rs:197:57 [INFO] [stdout] | [INFO] [stdout] 197 | let our_proof = calculate_proof(&answer_secret, contact_smp_nonce.as_ref(), &our_smp_nonce, &contact_pk_fingerprint)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `contact_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `smp_plaintext.get(0)` [INFO] [stdout] --> src/contact/smp.rs:239:25 [INFO] [stdout] | [INFO] [stdout] 239 | let type_byte = smp_plaintext.get(0).ok_or(Error::InvalidSmpPlaintextLength)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `smp_plaintext.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:309:57 [INFO] [stdout] | [INFO] [stdout] 309 | let our_proof = calculate_proof(&answer_secret, &our_smp_nonce, contact_smp_nonce.as_ref(), &our_pk_fingerprint)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `our_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:314:49 [INFO] [stdout] | [INFO] [stdout] 314 | if !crypto::compare_secrets(&our_proof, &contact_proof) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `contact_proof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:326:85 [INFO] [stdout] | [INFO] [stdout] 326 | let our_proof = calculate_proof(&answer_secret, contact_smp_nonce.as_ref(), &our_smp_nonce, &contact_pks_fingerprint)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `our_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `smp_plaintext.get(0)` [INFO] [stdout] --> src/contact/smp.rs:355:25 [INFO] [stdout] | [INFO] [stdout] 355 | let type_byte = smp_plaintext.get(0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `smp_plaintext.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:390:57 [INFO] [stdout] | [INFO] [stdout] 390 | let our_proof = calculate_proof(&answer_secret, &our_smp_nonce, contact_smp_nonce.as_ref(), &our_pks_fingerprint)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `our_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:442:69 [INFO] [stdout] | [INFO] [stdout] 442 | ... let (ciphertext_blob, _) = crypto::encrypt_chacha20poly1305(&our_strand_key, &out, Some(our_strand_nonce.as_slice()), consts:... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `our_strand_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/contact/pfs.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | ... if (!self.our_ml_kem_secret_key.is_some() || !self.our_mceliece_secret_key.is_some()) && (!self.our_staged_ml_kem_secret_key.i... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.our_ml_kem_secret_key.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/contact/pfs.rs:57:54 [INFO] [stdout] | [INFO] [stdout] 57 | ...t_key.is_some() || !self.our_mceliece_secret_key.is_some()) && (!self.our_staged_ml_kem_secret_key.is_some() || !self.our_staged_... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.our_mceliece_secret_key.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/contact/pfs.rs:57:99 [INFO] [stdout] | [INFO] [stdout] 57 | ...s_some()) && (!self.our_staged_ml_kem_secret_key.is_some() || !self.our_staged_mceliece_secret_key.is_some()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.our_staged_ml_kem_secret_key.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/contact/pfs.rs:57:147 [INFO] [stdout] | [INFO] [stdout] 57 | ...s_some() || !self.our_staged_mceliece_secret_key.is_some()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.our_staged_mceliece_secret_key.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `contact_hash_chain` after checking its variant with `is_some` [INFO] [stdout] --> src/contact/pfs.rs:38:62 [INFO] [stdout] | [INFO] [stdout] 37 | if contact_hash_chain.is_some() { [INFO] [stdout] | ------------------------------- help: try: `if let Some() = contact_hash_chain` [INFO] [stdout] 38 | let computed_hash_chain = crypto::hash_sha3_512(&contact_hash_chain.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/pfs.rs:38:61 [INFO] [stdout] | [INFO] [stdout] 38 | let computed_hash_chain = crypto::hash_sha3_512(&contact_hash_chain.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `contact_hash_chain.unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contact.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | let mut alice = Contact::new().expect("Failed to create new contact instance"); [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] --> src/contact.rs:254:13 [INFO] [stdout] | [INFO] [stdout] 254 | let mut bob = Contact::new().expect("Failed to create new contact instance"); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/msgs.rs:15:84 [INFO] [stdout] | [INFO] [stdout] 15 | ...= crypto::generate_shared_secrets(&contact_ml_kem_pk, oqs::kem::Algorithm::MlKem1024, consts::OTP_PAD_SIZE)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `contact_ml_kem_pk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/msgs.rs:16:88 [INFO] [stdout] | [INFO] [stdout] 16 | ...crypto::generate_shared_secrets(&contact_mceliece_pk, oqs::kem::Algorithm::ClassicMcEliece8192128, consts::OTP_PAD_SIZE)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `contact_mceliece_pk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/contact/msgs.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | if self.message_locked == false { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!self.message_locked` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/contact/msgs.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 73 | if self.message_locked == true { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.message_locked` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/contact/msgs.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | if self.our_pads.as_ref().map_or(true, |v| v.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 83 - if self.our_pads.as_ref().map_or(true, |v| v.is_empty()) { [INFO] [stdout] 83 + if self.our_pads.as_ref().is_none_or(|v| v.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/contact.rs:410:13 [INFO] [stdout] | [INFO] [stdout] 410 | let result = match result.unwrap() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/ratchet.rs:45:69 [INFO] [stdout] | [INFO] [stdout] 45 | ... let (ciphertext_blob, _) = crypto::encrypt_chacha20poly1305(&our_strand_key, &prepared_payload, Some(our_strand_nonce.as_slice... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `our_strand_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `data_plaintext.get(0)` [INFO] [stdout] --> src/contact.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | let type_byte = data_plaintext.get(0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `data_plaintext.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/consts.rs:36:36 [INFO] [stdout] | [INFO] [stdout] 36 | pub const ARGON2ID_MEM_COST: u32 = 1 * 1024; // DEBUG [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/crypto.rs:215:19 [INFO] [stdout] | [INFO] [stdout] 215 | hasher.update(&*data); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 215 - hasher.update(&*data); [INFO] [stdout] 215 + hasher.update(data); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 215 | hasher.update(&**data); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/crypto.rs:221:40 [INFO] [stdout] | [INFO] [stdout] 221 | pub fn generate_ml_dsa_87_keypair() -> oqs::Result<(Zeroizing>, Zeroizing>)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:237:39 [INFO] [stdout] | [INFO] [stdout] 237 | let signature = sigalg.sign(data, &sk) [INFO] [stdout] | ^^^ help: change this to: `sk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/crypto.rs:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | / let sig_result = sigalg.verify(data, &signature, &sig_pk) [INFO] [stdout] 257 | | .map_err(|_| Error::SigVerificationFailed)?; [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding and replace variable usages with `()` [INFO] [stdout] | [INFO] [stdout] 256 ~ sigalg.verify(data, &signature, &sig_pk) [INFO] [stdout] 257 | .map_err(|_| Error::SigVerificationFailed)?; [INFO] [stdout] 258 | [INFO] [stdout] 259 ~ Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:256:42 [INFO] [stdout] | [INFO] [stdout] 256 | let sig_result = sigalg.verify(data, &signature, &sig_pk) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `signature` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:256:54 [INFO] [stdout] | [INFO] [stdout] 256 | let sig_result = sigalg.verify(data, &signature, &sig_pk) [INFO] [stdout] | ^^^^^^^ help: change this to: `sig_pk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sk2` [INFO] [stdout] --> src/crypto.rs:492:19 [INFO] [stdout] | [INFO] [stdout] 492 | let (pk2, sk2) = generate_ml_dsa_87_keypair().expect("Failed to generate ML-DSA-87 keypair"); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sk2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/crypto.rs:264:58 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn generate_kem_keypair(alg: oqs::kem::Algorithm) -> oqs::Result<(Zeroizing>, Zeroizing>)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/crypto.rs:297:105 [INFO] [stdout] | [INFO] [stdout] 297 | ...qs::kem::Algorithm, size: usize) -> Result<(Zeroizing>, Zeroizing>), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/crypto.rs:308:18 [INFO] [stdout] | [INFO] [stdout] 308 | let rounds = (size + ss_len - 1) / ss_len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `size.div_ceil(ss_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:314:40 [INFO] [stdout] | [INFO] [stdout] 314 | let (ct, ss) = kem.encapsulate(&pk_ref) [INFO] [stdout] | ^^^^^^^ help: change this to: `pk_ref` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:358:26 [INFO] [stdout] | [INFO] [stdout] 358 | .decapsulate(&sk, &ct) [INFO] [stdout] | ^^^ help: change this to: `sk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:358:31 [INFO] [stdout] | [INFO] [stdout] 358 | .decapsulate(&sk, &ct) [INFO] [stdout] | ^^^ help: change this to: `ct` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/crypto.rs:375:59 [INFO] [stdout] | [INFO] [stdout] 375 | let mut mac = as Mac>::new_from_slice(&*key) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 375 - let mut mac = as Mac>::new_from_slice(&*key) [INFO] [stdout] 375 + let mut mac = as Mac>::new_from_slice(key) [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 375 | let mut mac = as Mac>::new_from_slice(&**key) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_opt_string` is never used [INFO] [stdout] --> src/contact/export_import.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn write_opt_string(buf: &mut Vec, opt: &Option) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ML_DSA_87_SK_SIZE` is never used [INFO] [stdout] --> src/consts.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const ML_DSA_87_SK_SIZE: usize = 4896; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OTP_MAX_MESSAGE_LEN` is never used [INFO] [stdout] --> src/consts.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | pub const OTP_MAX_MESSAGE_LEN: usize = OTP_PAD_SIZE - OTP_SIZE_LENGTH; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/contact/export_import.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | if &magic_buf != MAGIC { [INFO] [stdout] | ----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `magic_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/export_import.rs:225:35 [INFO] [stdout] | [INFO] [stdout] 225 | buf.extend_from_slice(&z); [INFO] [stdout] | ^^ help: change this to: `z` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ContactState` which implements the `Copy` trait [INFO] [stdout] --> src/contact/clone.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | state: self.state.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/contact/clone.rs:9:29 [INFO] [stdout] | [INFO] [stdout] 9 | message_locked: self.message_locked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.message_locked` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | &answer_secret [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `answer_secret` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:114:41 [INFO] [stdout] | [INFO] [stdout] 114 | inner_payload.extend_from_slice(&signing_pk); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `signing_pk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `as_ref` does nothing [INFO] [stdout] --> src/contact/smp.rs:195:65 [INFO] [stdout] | [INFO] [stdout] 195 | let answer_secret = calculate_answer_secret(smp_answer, contact_smp_nonce.as_ref(), our_smp_nonce.as_slice())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `contact_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stdout] = note: `#[warn(clippy::useless_asref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `as_ref` does nothing [INFO] [stdout] --> src/contact/smp.rs:197:57 [INFO] [stdout] | [INFO] [stdout] 197 | let our_proof = calculate_proof(&answer_secret, contact_smp_nonce.as_ref(), &our_smp_nonce, &contact_pk_fingerprint)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `contact_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `smp_plaintext.get(0)` [INFO] [stdout] --> src/contact/smp.rs:239:25 [INFO] [stdout] | [INFO] [stdout] 239 | let type_byte = smp_plaintext.get(0).ok_or(Error::InvalidSmpPlaintextLength)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `smp_plaintext.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:309:57 [INFO] [stdout] | [INFO] [stdout] 309 | let our_proof = calculate_proof(&answer_secret, &our_smp_nonce, contact_smp_nonce.as_ref(), &our_pk_fingerprint)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `our_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:314:49 [INFO] [stdout] | [INFO] [stdout] 314 | if !crypto::compare_secrets(&our_proof, &contact_proof) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `contact_proof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:326:85 [INFO] [stdout] | [INFO] [stdout] 326 | let our_proof = calculate_proof(&answer_secret, contact_smp_nonce.as_ref(), &our_smp_nonce, &contact_pks_fingerprint)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `our_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `smp_plaintext.get(0)` [INFO] [stdout] --> src/contact/smp.rs:355:25 [INFO] [stdout] | [INFO] [stdout] 355 | let type_byte = smp_plaintext.get(0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `smp_plaintext.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:390:57 [INFO] [stdout] | [INFO] [stdout] 390 | let our_proof = calculate_proof(&answer_secret, &our_smp_nonce, contact_smp_nonce.as_ref(), &our_pks_fingerprint)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `our_smp_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/smp.rs:442:69 [INFO] [stdout] | [INFO] [stdout] 442 | ... let (ciphertext_blob, _) = crypto::encrypt_chacha20poly1305(&our_strand_key, &out, Some(our_strand_nonce.as_slice()), consts:... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `our_strand_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/contact/pfs.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | ... if (!self.our_ml_kem_secret_key.is_some() || !self.our_mceliece_secret_key.is_some()) && (!self.our_staged_ml_kem_secret_key.i... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.our_ml_kem_secret_key.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/contact/pfs.rs:57:54 [INFO] [stdout] | [INFO] [stdout] 57 | ...t_key.is_some() || !self.our_mceliece_secret_key.is_some()) && (!self.our_staged_ml_kem_secret_key.is_some() || !self.our_staged_... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.our_mceliece_secret_key.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/contact/pfs.rs:57:99 [INFO] [stdout] | [INFO] [stdout] 57 | ...s_some()) && (!self.our_staged_ml_kem_secret_key.is_some() || !self.our_staged_mceliece_secret_key.is_some()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.our_staged_ml_kem_secret_key.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/contact/pfs.rs:57:147 [INFO] [stdout] | [INFO] [stdout] 57 | ...s_some() || !self.our_staged_mceliece_secret_key.is_some()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.our_staged_mceliece_secret_key.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `contact_hash_chain` after checking its variant with `is_some` [INFO] [stdout] --> src/contact/pfs.rs:38:62 [INFO] [stdout] | [INFO] [stdout] 37 | if contact_hash_chain.is_some() { [INFO] [stdout] | ------------------------------- help: try: `if let Some() = contact_hash_chain` [INFO] [stdout] 38 | let computed_hash_chain = crypto::hash_sha3_512(&contact_hash_chain.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/pfs.rs:38:61 [INFO] [stdout] | [INFO] [stdout] 38 | let computed_hash_chain = crypto::hash_sha3_512(&contact_hash_chain.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `contact_hash_chain.unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/msgs.rs:15:84 [INFO] [stdout] | [INFO] [stdout] 15 | ...= crypto::generate_shared_secrets(&contact_ml_kem_pk, oqs::kem::Algorithm::MlKem1024, consts::OTP_PAD_SIZE)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `contact_ml_kem_pk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/msgs.rs:16:88 [INFO] [stdout] | [INFO] [stdout] 16 | ...crypto::generate_shared_secrets(&contact_mceliece_pk, oqs::kem::Algorithm::ClassicMcEliece8192128, consts::OTP_PAD_SIZE)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `contact_mceliece_pk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/contact/msgs.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | if self.message_locked == false { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!self.message_locked` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/contact/msgs.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 73 | if self.message_locked == true { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.message_locked` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/contact/msgs.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | if self.our_pads.as_ref().map_or(true, |v| v.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 83 - if self.our_pads.as_ref().map_or(true, |v| v.is_empty()) { [INFO] [stdout] 83 + if self.our_pads.as_ref().is_none_or(|v| v.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/contact/ratchet.rs:45:69 [INFO] [stdout] | [INFO] [stdout] 45 | ... let (ciphertext_blob, _) = crypto::encrypt_chacha20poly1305(&our_strand_key, &prepared_payload, Some(our_strand_nonce.as_slice... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `our_strand_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `data_plaintext.get(0)` [INFO] [stdout] --> src/contact.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | let type_byte = data_plaintext.get(0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `data_plaintext.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/contact.rs:410:9 [INFO] [stdout] | [INFO] [stdout] 410 | / let result = match result.unwrap() { [INFO] [stdout] 411 | | ContactOutput::None => {}, [INFO] [stdout] 412 | | _ => panic!("Expected None output"), [INFO] [stdout] 413 | | }; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 410 - let result = match result.unwrap() { [INFO] [stdout] 410 + match result.unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/consts.rs:36:36 [INFO] [stdout] | [INFO] [stdout] 36 | pub const ARGON2ID_MEM_COST: u32 = 1 * 1024; // DEBUG [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/crypto.rs:215:19 [INFO] [stdout] | [INFO] [stdout] 215 | hasher.update(&*data); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 215 - hasher.update(&*data); [INFO] [stdout] 215 + hasher.update(data); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 215 | hasher.update(&**data); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/crypto.rs:221:40 [INFO] [stdout] | [INFO] [stdout] 221 | pub fn generate_ml_dsa_87_keypair() -> oqs::Result<(Zeroizing>, Zeroizing>)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:237:39 [INFO] [stdout] | [INFO] [stdout] 237 | let signature = sigalg.sign(data, &sk) [INFO] [stdout] | ^^^ help: change this to: `sk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/crypto.rs:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | / let sig_result = sigalg.verify(data, &signature, &sig_pk) [INFO] [stdout] 257 | | .map_err(|_| Error::SigVerificationFailed)?; [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding and replace variable usages with `()` [INFO] [stdout] | [INFO] [stdout] 256 ~ sigalg.verify(data, &signature, &sig_pk) [INFO] [stdout] 257 | .map_err(|_| Error::SigVerificationFailed)?; [INFO] [stdout] 258 | [INFO] [stdout] 259 ~ Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:256:42 [INFO] [stdout] | [INFO] [stdout] 256 | let sig_result = sigalg.verify(data, &signature, &sig_pk) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `signature` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:256:54 [INFO] [stdout] | [INFO] [stdout] 256 | let sig_result = sigalg.verify(data, &signature, &sig_pk) [INFO] [stdout] | ^^^^^^^ help: change this to: `sig_pk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/crypto.rs:264:58 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn generate_kem_keypair(alg: oqs::kem::Algorithm) -> oqs::Result<(Zeroizing>, Zeroizing>)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/crypto.rs:297:105 [INFO] [stdout] | [INFO] [stdout] 297 | ...qs::kem::Algorithm, size: usize) -> Result<(Zeroizing>, Zeroizing>), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/crypto.rs:308:18 [INFO] [stdout] | [INFO] [stdout] 308 | let rounds = (size + ss_len - 1) / ss_len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `size.div_ceil(ss_len)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:314:40 [INFO] [stdout] | [INFO] [stdout] 314 | let (ct, ss) = kem.encapsulate(&pk_ref) [INFO] [stdout] | ^^^^^^^ help: change this to: `pk_ref` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:358:26 [INFO] [stdout] | [INFO] [stdout] 358 | .decapsulate(&sk, &ct) [INFO] [stdout] | ^^^ help: change this to: `sk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/crypto.rs:358:31 [INFO] [stdout] | [INFO] [stdout] 358 | .decapsulate(&sk, &ct) [INFO] [stdout] | ^^^ help: change this to: `ct` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/crypto.rs:375:59 [INFO] [stdout] | [INFO] [stdout] 375 | let mut mac = as Mac>::new_from_slice(&*key) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 375 - let mut mac = as Mac>::new_from_slice(&*key) [INFO] [stdout] 375 + let mut mac = as Mac>::new_from_slice(key) [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 375 | let mut mac = as Mac>::new_from_slice(&**key) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/crypto.rs:484:53 [INFO] [stdout] | [INFO] [stdout] 484 | let sig = generate_ml_dsa_87_signature(&sk, &data.as_bytes()).expect("Failed to generate signature"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `data.as_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/crypto.rs:486:49 [INFO] [stdout] | [INFO] [stdout] 486 | ... assert!(verify_ml_dsa_87_signature(&pk, &data.as_bytes(), sig.as_slice()).is_ok(), "Signature verification failed despite dat... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `data.as_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/crypto.rs:489:49 [INFO] [stdout] | [INFO] [stdout] 489 | ... assert!(verify_ml_dsa_87_signature(&pk, &tampered_data.as_bytes(), sig.as_slice()).is_err(), "Signature verification passed d... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `tampered_data.as_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/crypto.rs:494:50 [INFO] [stdout] | [INFO] [stdout] 494 | ... assert!(verify_ml_dsa_87_signature(&pk2, &data.as_bytes(), sig.as_slice()).is_err(), "Signature verification valid despite pu... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `data.as_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 35s [INFO] running `Command { std: "docker" "inspect" "869ca5ce667fa22c1fca817017105bf650282be4ae1d913ddd8e51612c820f62", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "869ca5ce667fa22c1fca817017105bf650282be4ae1d913ddd8e51612c820f62", kill_on_drop: false }` [INFO] [stdout] 869ca5ce667fa22c1fca817017105bf650282be4ae1d913ddd8e51612c820f62