[INFO] fetching crate qrc-opensource-rs 0.3.7... [INFO] linting qrc-opensource-rs-0.3.7 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate qrc-opensource-rs 0.3.7 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate qrc-opensource-rs 0.3.7 [INFO] finished tweaking crates.io crate qrc-opensource-rs 0.3.7 [INFO] tweaked toml for crates.io crate qrc-opensource-rs 0.3.7 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate qrc-opensource-rs 0.3.7 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 qrc-opensource-rs 0.3.7 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] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded whoami v1.6.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 17c53f1d67dbd748046f6c34daf4ed958e659b0116e14b94be5ba27b5aab25c4 [INFO] running `Command { std: "docker" "start" "-a" "17c53f1d67dbd748046f6c34daf4ed958e659b0116e14b94be5ba27b5aab25c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "17c53f1d67dbd748046f6c34daf4ed958e659b0116e14b94be5ba27b5aab25c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "17c53f1d67dbd748046f6c34daf4ed958e659b0116e14b94be5ba27b5aab25c4", kill_on_drop: false }` [INFO] [stdout] 17c53f1d67dbd748046f6c34daf4ed958e659b0116e14b94be5ba27b5aab25c4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 501b2ef54f98ecf26a8b326184fbd8793ff2823d563632d7237583fa2f34f2ac [INFO] running `Command { std: "docker" "start" "-a" "501b2ef54f98ecf26a8b326184fbd8793ff2823d563632d7237583fa2f34f2ac", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking whoami v1.6.0 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking sysinfo v0.30.13 [INFO] [stderr] Checking chrono v0.4.40 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking qrc-opensource-rs v0.3.7 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1177:19 [INFO] [stdout] | [INFO] [stdout] 1177 | ptr = &mut ptr[((n as usize >> 4))..]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove them: `(n as usize >> 4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stdout] = note: `#[warn(clippy::double_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1182:19 [INFO] [stdout] | [INFO] [stdout] 1182 | ptr = &mut ptr[((n as usize >> 4))..]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove them: `(n as usize >> 4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:943:32 [INFO] [stdout] | [INFO] [stdout] 943 | t = a.coeffs[i] - (t & 2 * a.coeffs[i]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `t & (2 * a.coeffs[i])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1023:28 [INFO] [stdout] | [INFO] [stdout] 1023 | t0 = t0 - (205 * t0 >> 10) * 5; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(205 * t0) >> 10` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1029:28 [INFO] [stdout] | [INFO] [stdout] 1029 | t1 = t1 - (205 * t1 >> 10) * 5; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(205 * t1) >> 10` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:188:53 [INFO] [stdout] | [INFO] [stdout] 188 | if !((qrc_sc25519_verify(rcheck, sig, 32) == 0) | ((!(rcheck == sig)))) || !(qrc_intutils_are_equal8(sig, rcheck, 32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove them: `(!(rcheck == sig))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/digest/sha3.rs:511:23 [INFO] [stdout] | [INFO] [stdout] 511 | ctx.state[ctx.position + i >> 3] ^= (message[i] as u64) << (8 * ((ctx.position + i) & 0x07)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(ctx.position + i) >> 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/prng/secrand.rs:401:14 [INFO] [stdout] | [INFO] [stdout] 401 | let mut x = 04; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] = note: `#[warn(clippy::zero_prefixed_literal)]` on by default [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 401 - let mut x = 04; [INFO] [stdout] 401 + let mut x = 4; [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 401 | let mut x = 0o4; [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1177:19 [INFO] [stdout] | [INFO] [stdout] 1177 | ptr = &mut ptr[((n as usize >> 4))..]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove them: `(n as usize >> 4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stdout] = note: `#[warn(clippy::double_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1182:19 [INFO] [stdout] | [INFO] [stdout] 1182 | ptr = &mut ptr[((n as usize >> 4))..]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove them: `(n as usize >> 4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:943:32 [INFO] [stdout] | [INFO] [stdout] 943 | t = a.coeffs[i] - (t & 2 * a.coeffs[i]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `t & (2 * a.coeffs[i])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1023:28 [INFO] [stdout] | [INFO] [stdout] 1023 | t0 = t0 - (205 * t0 >> 10) * 5; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(205 * t0) >> 10` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1029:28 [INFO] [stdout] | [INFO] [stdout] 1029 | t1 = t1 - (205 * t1 >> 10) * 5; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(205 * t1) >> 10` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:188:53 [INFO] [stdout] | [INFO] [stdout] 188 | if !((qrc_sc25519_verify(rcheck, sig, 32) == 0) | ((!(rcheck == sig)))) || !(qrc_intutils_are_equal8(sig, rcheck, 32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove them: `(!(rcheck == sig))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/digest/sha3.rs:511:23 [INFO] [stdout] | [INFO] [stdout] 511 | ctx.state[ctx.position + i >> 3] ^= (message[i] as u64) << (8 * ((ctx.position + i) & 0x07)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(ctx.position + i) >> 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is a decimal constant [INFO] [stdout] --> src/prng/secrand.rs:401:14 [INFO] [stdout] | [INFO] [stdout] 401 | let mut x = 04; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stdout] = note: `#[warn(clippy::zero_prefixed_literal)]` on by default [INFO] [stdout] help: if you mean to use a decimal constant, remove the `0` to avoid confusion [INFO] [stdout] | [INFO] [stdout] 401 - let mut x = 04; [INFO] [stdout] 401 + let mut x = 4; [INFO] [stdout] | [INFO] [stdout] help: if you mean to use an octal constant, use `0o` [INFO] [stdout] | [INFO] [stdout] 401 | let mut x = 0o4; [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:215:2 [INFO] [stdout] | [INFO] [stdout] 215 | return s[0] as i32 & 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 215 - return s[0] as i32 & 1; [INFO] [stdout] 215 + s[0] as i32 & 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:223:2 [INFO] [stdout] | [INFO] [stdout] 223 | return ecdsabase_is_zero(s, 32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 223 - return ecdsabase_is_zero(s, 32); [INFO] [stdout] 223 + ecdsabase_is_zero(s, 32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:779:17 [INFO] [stdout] | [INFO] [stdout] 779 | fe25519_sq(t1, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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 `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:780:17 [INFO] [stdout] | [INFO] [stdout] 780 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:781:21 [INFO] [stdout] | [INFO] [stdout] 781 | fe25519_mul(t1, z, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:782:18 [INFO] [stdout] | [INFO] [stdout] 782 | fe25519_mul(t0, t0.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:782:30 [INFO] [stdout] | [INFO] [stdout] 782 | fe25519_mul(t0, t0.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:783:17 [INFO] [stdout] | [INFO] [stdout] 783 | fe25519_sq(t2, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:784:18 [INFO] [stdout] | [INFO] [stdout] 784 | fe25519_mul(t1, t1.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:784:30 [INFO] [stdout] | [INFO] [stdout] 784 | fe25519_mul(t1, t1.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:785:17 [INFO] [stdout] | [INFO] [stdout] 785 | fe25519_sq(t2, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:788:18 [INFO] [stdout] | [INFO] [stdout] 788 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:791:18 [INFO] [stdout] | [INFO] [stdout] 791 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:791:30 [INFO] [stdout] | [INFO] [stdout] 791 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:792:17 [INFO] [stdout] | [INFO] [stdout] 792 | fe25519_sq(t2, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:795:18 [INFO] [stdout] | [INFO] [stdout] 795 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:798:18 [INFO] [stdout] | [INFO] [stdout] 798 | fe25519_mul(t2, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:798:30 [INFO] [stdout] | [INFO] [stdout] 798 | fe25519_mul(t2, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:799:17 [INFO] [stdout] | [INFO] [stdout] 799 | fe25519_sq(t3, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:802:18 [INFO] [stdout] | [INFO] [stdout] 802 | fe25519_sq(t3, t3.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:805:18 [INFO] [stdout] | [INFO] [stdout] 805 | fe25519_mul(t2, t3.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:805:30 [INFO] [stdout] | [INFO] [stdout] 805 | fe25519_mul(t2, t3.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:808:18 [INFO] [stdout] | [INFO] [stdout] 808 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:810:18 [INFO] [stdout] | [INFO] [stdout] 810 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:810:30 [INFO] [stdout] | [INFO] [stdout] 810 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:811:17 [INFO] [stdout] | [INFO] [stdout] 811 | fe25519_sq(t2, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:814:18 [INFO] [stdout] | [INFO] [stdout] 814 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:817:18 [INFO] [stdout] | [INFO] [stdout] 817 | fe25519_mul(t2, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:817:30 [INFO] [stdout] | [INFO] [stdout] 817 | fe25519_mul(t2, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:818:17 [INFO] [stdout] | [INFO] [stdout] 818 | fe25519_sq(t3, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:821:18 [INFO] [stdout] | [INFO] [stdout] 821 | fe25519_sq(t3, t3.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:824:18 [INFO] [stdout] | [INFO] [stdout] 824 | fe25519_mul(t2, t3.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:824:30 [INFO] [stdout] | [INFO] [stdout] 824 | fe25519_mul(t2, t3.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:827:18 [INFO] [stdout] | [INFO] [stdout] 827 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:830:18 [INFO] [stdout] | [INFO] [stdout] 830 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:830:30 [INFO] [stdout] | [INFO] [stdout] 830 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:833:18 [INFO] [stdout] | [INFO] [stdout] 833 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:836:19 [INFO] [stdout] | [INFO] [stdout] 836 | fe25519_mul(out, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:836:31 [INFO] [stdout] | [INFO] [stdout] 836 | fe25519_mul(out, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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 `impl` can be derived [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:903:1 [INFO] [stdout] | [INFO] [stdout] 903 | / impl Default for Ge25519P2{ [INFO] [stdout] 904 | | fn default() -> Self { [INFO] [stdout] 905 | | Self { [INFO] [stdout] 906 | | x: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 911 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 898 + #[derive(Default)] [INFO] [stdout] 899 | pub struct Ge25519P2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:920:1 [INFO] [stdout] | [INFO] [stdout] 920 | / impl Default for Ge25519P3{ [INFO] [stdout] 921 | | fn default() -> Self { [INFO] [stdout] 922 | | Self { [INFO] [stdout] 923 | | x: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 929 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 914 + #[derive(Default)] [INFO] [stdout] 915 | pub struct Ge25519P3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:938:1 [INFO] [stdout] | [INFO] [stdout] 938 | / impl Default for Ge25519P1p1{ [INFO] [stdout] 939 | | fn default() -> Self { [INFO] [stdout] 940 | | Self { [INFO] [stdout] 941 | | x: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 947 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 932 + #[derive(Default)] [INFO] [stdout] 933 | pub struct Ge25519P1p1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:955:1 [INFO] [stdout] | [INFO] [stdout] 955 | / impl Default for Ge25519Precomp{ [INFO] [stdout] 956 | | fn default() -> Self { [INFO] [stdout] 957 | | Self { [INFO] [stdout] 958 | | yplusx: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 963 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 950 + #[derive(Default)] [INFO] [stdout] 951 | pub struct Ge25519Precomp { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:972:1 [INFO] [stdout] | [INFO] [stdout] 972 | / impl Default for Ge25519Cached{ [INFO] [stdout] 973 | | fn default() -> Self { [INFO] [stdout] 974 | | Self { [INFO] [stdout] 975 | | yplusx: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 966 + #[derive(Default)] [INFO] [stdout] 967 | pub struct Ge25519Cached { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1003:5 [INFO] [stdout] | [INFO] [stdout] 1003 | e[2 * i + 0] = a[i] & 15; [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `(2 * i)` [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: the loop variable `i` is only used to index `e` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1010:11 [INFO] [stdout] | [INFO] [stdout] 1010 | for i in 0..63 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1010 - for i in 0..63 { [INFO] [stdout] 1010 + for in e.iter_mut().take(63) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Ge25519Precomp` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1024:37 [INFO] [stdout] | [INFO] [stdout] 1024 | ge25519_add_precomp(r, h.clone(), t.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*t` [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: using `clone` on type `Ge25519Precomp` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1039:37 [INFO] [stdout] | [INFO] [stdout] 1039 | ge25519_add_precomp(r, h.clone(), t.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*t` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1050:22 [INFO] [stdout] | [INFO] [stdout] 1050 | fe25519_mul(x, h.x, recip.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*recip` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1051:22 [INFO] [stdout] | [INFO] [stdout] 1051 | fe25519_mul(y, h.y, recip.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*recip` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1052:21 [INFO] [stdout] | [INFO] [stdout] 1052 | fe25519_tobytes(s, y.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1053:31 [INFO] [stdout] | [INFO] [stdout] 1053 | s[31] ^= (fe25519_isnegative(x.clone()) << 7) as u8; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*x` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1067:2 [INFO] [stdout] | [INFO] [stdout] 1067 | return 1 - (c & d & 1) as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1067 - return 1 - (c & d & 1) as i32; [INFO] [stdout] 1067 + 1 - (c & d & 1) as i32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1065:11 [INFO] [stdout] | [INFO] [stdout] 1065 | let d = (((0x000000ED - 1u8).wrapping_sub(s[0]) as u32) as u32 >> 8) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((0x000000ED - 1u8).wrapping_sub(s[0]) as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1136:2 [INFO] [stdout] | [INFO] [stdout] 1136 | return (k as i32 >> 8) & 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1136 - return (k as i32 >> 8) & 1; [INFO] [stdout] 1136 + (k as i32 >> 8) & 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `c` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1132:11 [INFO] [stdout] | [INFO] [stdout] 1132 | for i in 0..7 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1132 - for i in 0..7 { [INFO] [stdout] 1132 + for in c.iter().take(7) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1200:2 [INFO] [stdout] | [INFO] [stdout] 1200 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1200 - return res; [INFO] [stdout] 1200 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1151:17 [INFO] [stdout] | [INFO] [stdout] 1151 | fe25519_mul(v, u.clone(), ED25519_D); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1153:17 [INFO] [stdout] | [INFO] [stdout] 1153 | fe25519_sub(u, u.clone(), h.z); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1155:17 [INFO] [stdout] | [INFO] [stdout] 1155 | fe25519_add(v, v.clone(), h.z); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1157:17 [INFO] [stdout] | [INFO] [stdout] 1157 | fe25519_sq(v3, v.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1159:18 [INFO] [stdout] | [INFO] [stdout] 1159 | fe25519_mul(v3, v3.clone(), v.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*v3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1159:30 [INFO] [stdout] | [INFO] [stdout] 1159 | fe25519_mul(v3, v3.clone(), v.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1160:23 [INFO] [stdout] | [INFO] [stdout] 1160 | fe25519_sq(&mut h.x, v3.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*v3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1162:11 [INFO] [stdout] | [INFO] [stdout] 1162 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1163:28 [INFO] [stdout] | [INFO] [stdout] 1163 | fe25519_mul(&mut h.x, hx, v.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1164:11 [INFO] [stdout] | [INFO] [stdout] 1164 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1165:28 [INFO] [stdout] | [INFO] [stdout] 1165 | fe25519_mul(&mut h.x, hx, u.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1167:11 [INFO] [stdout] | [INFO] [stdout] 1167 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1169:11 [INFO] [stdout] | [INFO] [stdout] 1169 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1170:28 [INFO] [stdout] | [INFO] [stdout] 1170 | fe25519_mul(&mut h.x, hx, v3.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*v3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1171:11 [INFO] [stdout] | [INFO] [stdout] 1171 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1172:28 [INFO] [stdout] | [INFO] [stdout] 1172 | fe25519_mul(&mut h.x, hx, u.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1175:19 [INFO] [stdout] | [INFO] [stdout] 1175 | fe25519_mul(vxx, vxx.clone(), v.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*vxx` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1175:32 [INFO] [stdout] | [INFO] [stdout] 1175 | fe25519_mul(vxx, vxx.clone(), v.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1177:23 [INFO] [stdout] | [INFO] [stdout] 1177 | fe25519_sub(mrcheck, vxx.clone(), u.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*vxx` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1177:36 [INFO] [stdout] | [INFO] [stdout] 1177 | fe25519_sub(mrcheck, vxx.clone(), u.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1179:20 [INFO] [stdout] | [INFO] [stdout] 1179 | if fe25519_iszero(mrcheck.clone()) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*mrcheck` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1181:24 [INFO] [stdout] | [INFO] [stdout] 1181 | fe25519_add(prcheck, vxx.clone(), u.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*vxx` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1181:37 [INFO] [stdout] | [INFO] [stdout] 1181 | fe25519_add(prcheck, vxx.clone(), u.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1183:21 [INFO] [stdout] | [INFO] [stdout] 1183 | if fe25519_iszero(prcheck.clone()) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*prcheck` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1186:13 [INFO] [stdout] | [INFO] [stdout] 1186 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1193:13 [INFO] [stdout] | [INFO] [stdout] 1193 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1216:11 [INFO] [stdout] | [INFO] [stdout] 1216 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1222:11 [INFO] [stdout] | [INFO] [stdout] 1222 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1224:24 [INFO] [stdout] | [INFO] [stdout] 1224 | fe25519_add(&mut r.z, t0.clone(), r.t); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1225:11 [INFO] [stdout] | [INFO] [stdout] 1225 | let rt = r.t.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.t` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1226:24 [INFO] [stdout] | [INFO] [stdout] 1226 | fe25519_sub(&mut r.t, t0.clone(), rt); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1356:11 [INFO] [stdout] | [INFO] [stdout] 1356 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1362:11 [INFO] [stdout] | [INFO] [stdout] 1362 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1364:24 [INFO] [stdout] | [INFO] [stdout] 1364 | fe25519_sub(&mut r.z, t0.clone(), r.t); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1365:11 [INFO] [stdout] | [INFO] [stdout] 1365 | let rt = r.t.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.t` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1366:24 [INFO] [stdout] | [INFO] [stdout] 1366 | fe25519_add(&mut r.t, t0.clone(), rt); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1375:22 [INFO] [stdout] | [INFO] [stdout] 1375 | fe25519_mul(x, h.x, recip.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*recip` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1376:22 [INFO] [stdout] | [INFO] [stdout] 1376 | fe25519_mul(y, h.y, recip.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*recip` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1377:21 [INFO] [stdout] | [INFO] [stdout] 1377 | fe25519_tobytes(s, y.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1378:31 [INFO] [stdout] | [INFO] [stdout] 1378 | s[31] ^= (fe25519_isnegative(x.clone()) << 7) as u8; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*x` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1406:2 [INFO] [stdout] | [INFO] [stdout] 1406 | return if c != 0 { 0 } else { -1 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1406 - return if c != 0 { 0 } else { -1 }; [INFO] [stdout] 1406 + if c != 0 { 0 } else { -1 } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2134:2 [INFO] [stdout] | [INFO] [stdout] 2134 | return (1 & ((d as i32 - 1) >> 8)) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2134 - return (1 & ((d as i32 - 1) >> 8)) - 1; [INFO] [stdout] 2134 + (1 & ((d as i32 - 1) >> 8)) - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2203:2 [INFO] [stdout] | [INFO] [stdout] 2203 | return (k as i32 >> 8) & 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2203 - return (k as i32 >> 8) & 1; [INFO] [stdout] 2203 + (k as i32 >> 8) & 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `c` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2199:11 [INFO] [stdout] | [INFO] [stdout] 2199 | for i in 0..7 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 2199 - for i in 0..7 { [INFO] [stdout] 2199 + for in c.iter().take(7) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2215:2 [INFO] [stdout] | [INFO] [stdout] 2215 | return 1 & (((d as u32).wrapping_sub(1)) >> 8) as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2215 - return 1 & (((d as u32).wrapping_sub(1)) >> 8) as i32; [INFO] [stdout] 2215 + 1 & (((d as u32).wrapping_sub(1)) >> 8) as i32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `n` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2211:11 [INFO] [stdout] | [INFO] [stdout] 2211 | for i in 0..nlen { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 2211 - for i in 0..nlen { [INFO] [stdout] 2211 + for in n.iter().take(nlen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2223:2 [INFO] [stdout] | [INFO] [stdout] 2223 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2223 - return res; [INFO] [stdout] 2223 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2232:2 [INFO] [stdout] | [INFO] [stdout] 2232 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2232 - return res; [INFO] [stdout] 2232 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2239:2 [INFO] [stdout] | [INFO] [stdout] 2239 | return x as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2239 - return x as u8; [INFO] [stdout] 2239 + x as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i8` -> `i8`) [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2263:12 [INFO] [stdout] | [INFO] [stdout] 2263 | r[i] = cmp as i8; [INFO] [stdout] | ^^^^^^^^^ help: try: `cmp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i8` -> `i8`) [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2272:12 [INFO] [stdout] | [INFO] [stdout] 2272 | r[i] = cmp as i8; [INFO] [stdout] | ^^^^^^^^^ help: try: `cmp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `k` is only used to index `r` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2274:14 [INFO] [stdout] | [INFO] [stdout] 2274 | for k in i + b..256 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 2274 - for k in i + b..256 { [INFO] [stdout] 2274 + for in r.iter_mut().take(256).skip(i + b) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2312:17 [INFO] [stdout] | [INFO] [stdout] 2312 | fe25519_sq(t1, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2313:17 [INFO] [stdout] | [INFO] [stdout] 2313 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2314:21 [INFO] [stdout] | [INFO] [stdout] 2314 | fe25519_mul(t1, z, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2315:18 [INFO] [stdout] | [INFO] [stdout] 2315 | fe25519_mul(t0, t0.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2315:30 [INFO] [stdout] | [INFO] [stdout] 2315 | fe25519_mul(t0, t0.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2316:17 [INFO] [stdout] | [INFO] [stdout] 2316 | fe25519_sq(t0, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2317:18 [INFO] [stdout] | [INFO] [stdout] 2317 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2317:30 [INFO] [stdout] | [INFO] [stdout] 2317 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2318:17 [INFO] [stdout] | [INFO] [stdout] 2318 | fe25519_sq(t1, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2321:18 [INFO] [stdout] | [INFO] [stdout] 2321 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2324:18 [INFO] [stdout] | [INFO] [stdout] 2324 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2324:30 [INFO] [stdout] | [INFO] [stdout] 2324 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2325:17 [INFO] [stdout] | [INFO] [stdout] 2325 | fe25519_sq(t1, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2328:18 [INFO] [stdout] | [INFO] [stdout] 2328 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2331:18 [INFO] [stdout] | [INFO] [stdout] 2331 | fe25519_mul(t1, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2331:30 [INFO] [stdout] | [INFO] [stdout] 2331 | fe25519_mul(t1, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2332:17 [INFO] [stdout] | [INFO] [stdout] 2332 | fe25519_sq(t2, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2335:18 [INFO] [stdout] | [INFO] [stdout] 2335 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2338:18 [INFO] [stdout] | [INFO] [stdout] 2338 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2338:30 [INFO] [stdout] | [INFO] [stdout] 2338 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2341:18 [INFO] [stdout] | [INFO] [stdout] 2341 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2344:18 [INFO] [stdout] | [INFO] [stdout] 2344 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2344:30 [INFO] [stdout] | [INFO] [stdout] 2344 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2345:17 [INFO] [stdout] | [INFO] [stdout] 2345 | fe25519_sq(t1, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2348:18 [INFO] [stdout] | [INFO] [stdout] 2348 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2351:18 [INFO] [stdout] | [INFO] [stdout] 2351 | fe25519_mul(t1, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2351:30 [INFO] [stdout] | [INFO] [stdout] 2351 | fe25519_mul(t1, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2352:17 [INFO] [stdout] | [INFO] [stdout] 2352 | fe25519_sq(t2, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2355:18 [INFO] [stdout] | [INFO] [stdout] 2355 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2358:18 [INFO] [stdout] | [INFO] [stdout] 2358 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2358:30 [INFO] [stdout] | [INFO] [stdout] 2358 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2361:18 [INFO] [stdout] | [INFO] [stdout] 2361 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2364:18 [INFO] [stdout] | [INFO] [stdout] 2364 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2364:30 [INFO] [stdout] | [INFO] [stdout] 2364 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2365:17 [INFO] [stdout] | [INFO] [stdout] 2365 | fe25519_sq(t0, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2366:17 [INFO] [stdout] | [INFO] [stdout] 2366 | fe25519_sq(t0, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2367:19 [INFO] [stdout] | [INFO] [stdout] 2367 | fe25519_mul(out, t0.clone(), z); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2379:11 [INFO] [stdout] | [INFO] [stdout] 2379 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2384:11 [INFO] [stdout] | [INFO] [stdout] 2384 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2386:24 [INFO] [stdout] | [INFO] [stdout] 2386 | fe25519_add(&mut r.z, t0.clone(), r.t); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2387:11 [INFO] [stdout] | [INFO] [stdout] 2387 | let rt = r.t.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.t` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2388:24 [INFO] [stdout] | [INFO] [stdout] 2388 | fe25519_sub(&mut r.t, t0.clone(), rt); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2419:2 [INFO] [stdout] | [INFO] [stdout] 2419 | return y as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2419 - return y as u8; [INFO] [stdout] 2419 + y as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Ge25519Precomp` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2439:18 [INFO] [stdout] | [INFO] [stdout] 2439 | ge25519_cmov(t, minust.clone(), bnegative); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*minust` [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: large array defined as const [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2443:2 [INFO] [stdout] | [INFO] [stdout] 2443 | const BASE: [[Ge25519Precomp; 8]; 32] = [ [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | _____help: make this a static item: `static` [INFO] [stdout] | | [INFO] [stdout] 2444 | | [ /* 0/31 */ [INFO] [stdout] 2445 | | Ge25519Precomp { [INFO] [stdout] 2446 | | yplusx: [ 25967493, -14356035, 29566456, 3660896, -12694345, 4014787, 27544626, -11754271, -6079156, 2047605 ], [INFO] [stdout] ... | [INFO] [stdout] 3788 | | ]; [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_const_arrays [INFO] [stdout] = note: `#[warn(clippy::large_const_arrays)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:215:2 [INFO] [stdout] | [INFO] [stdout] 215 | return s[0] as i32 & 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 215 - return s[0] as i32 & 1; [INFO] [stdout] 215 + s[0] as i32 & 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:223:2 [INFO] [stdout] | [INFO] [stdout] 223 | return ecdsabase_is_zero(s, 32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 223 - return ecdsabase_is_zero(s, 32); [INFO] [stdout] 223 + ecdsabase_is_zero(s, 32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:779:17 [INFO] [stdout] | [INFO] [stdout] 779 | fe25519_sq(t1, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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 `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:780:17 [INFO] [stdout] | [INFO] [stdout] 780 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:781:21 [INFO] [stdout] | [INFO] [stdout] 781 | fe25519_mul(t1, z, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:782:18 [INFO] [stdout] | [INFO] [stdout] 782 | fe25519_mul(t0, t0.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:782:30 [INFO] [stdout] | [INFO] [stdout] 782 | fe25519_mul(t0, t0.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:783:17 [INFO] [stdout] | [INFO] [stdout] 783 | fe25519_sq(t2, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:784:18 [INFO] [stdout] | [INFO] [stdout] 784 | fe25519_mul(t1, t1.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:784:30 [INFO] [stdout] | [INFO] [stdout] 784 | fe25519_mul(t1, t1.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:785:17 [INFO] [stdout] | [INFO] [stdout] 785 | fe25519_sq(t2, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:788:18 [INFO] [stdout] | [INFO] [stdout] 788 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:791:18 [INFO] [stdout] | [INFO] [stdout] 791 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:791:30 [INFO] [stdout] | [INFO] [stdout] 791 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:792:17 [INFO] [stdout] | [INFO] [stdout] 792 | fe25519_sq(t2, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:795:18 [INFO] [stdout] | [INFO] [stdout] 795 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:798:18 [INFO] [stdout] | [INFO] [stdout] 798 | fe25519_mul(t2, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:798:30 [INFO] [stdout] | [INFO] [stdout] 798 | fe25519_mul(t2, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:799:17 [INFO] [stdout] | [INFO] [stdout] 799 | fe25519_sq(t3, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:802:18 [INFO] [stdout] | [INFO] [stdout] 802 | fe25519_sq(t3, t3.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:805:18 [INFO] [stdout] | [INFO] [stdout] 805 | fe25519_mul(t2, t3.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:805:30 [INFO] [stdout] | [INFO] [stdout] 805 | fe25519_mul(t2, t3.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:808:18 [INFO] [stdout] | [INFO] [stdout] 808 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:810:18 [INFO] [stdout] | [INFO] [stdout] 810 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:810:30 [INFO] [stdout] | [INFO] [stdout] 810 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:811:17 [INFO] [stdout] | [INFO] [stdout] 811 | fe25519_sq(t2, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:814:18 [INFO] [stdout] | [INFO] [stdout] 814 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:817:18 [INFO] [stdout] | [INFO] [stdout] 817 | fe25519_mul(t2, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:817:30 [INFO] [stdout] | [INFO] [stdout] 817 | fe25519_mul(t2, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:818:17 [INFO] [stdout] | [INFO] [stdout] 818 | fe25519_sq(t3, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:821:18 [INFO] [stdout] | [INFO] [stdout] 821 | fe25519_sq(t3, t3.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:824:18 [INFO] [stdout] | [INFO] [stdout] 824 | fe25519_mul(t2, t3.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:824:30 [INFO] [stdout] | [INFO] [stdout] 824 | fe25519_mul(t2, t3.clone(), t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:827:18 [INFO] [stdout] | [INFO] [stdout] 827 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:830:18 [INFO] [stdout] | [INFO] [stdout] 830 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:830:30 [INFO] [stdout] | [INFO] [stdout] 830 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:833:18 [INFO] [stdout] | [INFO] [stdout] 833 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:836:19 [INFO] [stdout] | [INFO] [stdout] 836 | fe25519_mul(out, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:836:31 [INFO] [stdout] | [INFO] [stdout] 836 | fe25519_mul(out, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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 `impl` can be derived [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:903:1 [INFO] [stdout] | [INFO] [stdout] 903 | / impl Default for Ge25519P2{ [INFO] [stdout] 904 | | fn default() -> Self { [INFO] [stdout] 905 | | Self { [INFO] [stdout] 906 | | x: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 911 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 898 + #[derive(Default)] [INFO] [stdout] 899 | pub struct Ge25519P2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:920:1 [INFO] [stdout] | [INFO] [stdout] 920 | / impl Default for Ge25519P3{ [INFO] [stdout] 921 | | fn default() -> Self { [INFO] [stdout] 922 | | Self { [INFO] [stdout] 923 | | x: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 929 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 914 + #[derive(Default)] [INFO] [stdout] 915 | pub struct Ge25519P3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:938:1 [INFO] [stdout] | [INFO] [stdout] 938 | / impl Default for Ge25519P1p1{ [INFO] [stdout] 939 | | fn default() -> Self { [INFO] [stdout] 940 | | Self { [INFO] [stdout] 941 | | x: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 947 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 932 + #[derive(Default)] [INFO] [stdout] 933 | pub struct Ge25519P1p1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:955:1 [INFO] [stdout] | [INFO] [stdout] 955 | / impl Default for Ge25519Precomp{ [INFO] [stdout] 956 | | fn default() -> Self { [INFO] [stdout] 957 | | Self { [INFO] [stdout] 958 | | yplusx: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 963 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 950 + #[derive(Default)] [INFO] [stdout] 951 | pub struct Ge25519Precomp { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:972:1 [INFO] [stdout] | [INFO] [stdout] 972 | / impl Default for Ge25519Cached{ [INFO] [stdout] 973 | | fn default() -> Self { [INFO] [stdout] 974 | | Self { [INFO] [stdout] 975 | | yplusx: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 966 + #[derive(Default)] [INFO] [stdout] 967 | pub struct Ge25519Cached { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1003:5 [INFO] [stdout] | [INFO] [stdout] 1003 | e[2 * i + 0] = a[i] & 15; [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `(2 * i)` [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: the loop variable `i` is only used to index `e` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1010:11 [INFO] [stdout] | [INFO] [stdout] 1010 | for i in 0..63 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1010 - for i in 0..63 { [INFO] [stdout] 1010 + for in e.iter_mut().take(63) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Ge25519Precomp` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1024:37 [INFO] [stdout] | [INFO] [stdout] 1024 | ge25519_add_precomp(r, h.clone(), t.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*t` [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: using `clone` on type `Ge25519Precomp` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1039:37 [INFO] [stdout] | [INFO] [stdout] 1039 | ge25519_add_precomp(r, h.clone(), t.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*t` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1050:22 [INFO] [stdout] | [INFO] [stdout] 1050 | fe25519_mul(x, h.x, recip.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*recip` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1051:22 [INFO] [stdout] | [INFO] [stdout] 1051 | fe25519_mul(y, h.y, recip.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*recip` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1052:21 [INFO] [stdout] | [INFO] [stdout] 1052 | fe25519_tobytes(s, y.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1053:31 [INFO] [stdout] | [INFO] [stdout] 1053 | s[31] ^= (fe25519_isnegative(x.clone()) << 7) as u8; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*x` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1067:2 [INFO] [stdout] | [INFO] [stdout] 1067 | return 1 - (c & d & 1) as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1067 - return 1 - (c & d & 1) as i32; [INFO] [stdout] 1067 + 1 - (c & d & 1) as i32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1065:11 [INFO] [stdout] | [INFO] [stdout] 1065 | let d = (((0x000000ED - 1u8).wrapping_sub(s[0]) as u32) as u32 >> 8) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((0x000000ED - 1u8).wrapping_sub(s[0]) as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1136:2 [INFO] [stdout] | [INFO] [stdout] 1136 | return (k as i32 >> 8) & 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1136 - return (k as i32 >> 8) & 1; [INFO] [stdout] 1136 + (k as i32 >> 8) & 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `c` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1132:11 [INFO] [stdout] | [INFO] [stdout] 1132 | for i in 0..7 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1132 - for i in 0..7 { [INFO] [stdout] 1132 + for in c.iter().take(7) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1200:2 [INFO] [stdout] | [INFO] [stdout] 1200 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1200 - return res; [INFO] [stdout] 1200 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1151:17 [INFO] [stdout] | [INFO] [stdout] 1151 | fe25519_mul(v, u.clone(), ED25519_D); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1153:17 [INFO] [stdout] | [INFO] [stdout] 1153 | fe25519_sub(u, u.clone(), h.z); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1155:17 [INFO] [stdout] | [INFO] [stdout] 1155 | fe25519_add(v, v.clone(), h.z); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1157:17 [INFO] [stdout] | [INFO] [stdout] 1157 | fe25519_sq(v3, v.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1159:18 [INFO] [stdout] | [INFO] [stdout] 1159 | fe25519_mul(v3, v3.clone(), v.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*v3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1159:30 [INFO] [stdout] | [INFO] [stdout] 1159 | fe25519_mul(v3, v3.clone(), v.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1160:23 [INFO] [stdout] | [INFO] [stdout] 1160 | fe25519_sq(&mut h.x, v3.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*v3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1162:11 [INFO] [stdout] | [INFO] [stdout] 1162 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1163:28 [INFO] [stdout] | [INFO] [stdout] 1163 | fe25519_mul(&mut h.x, hx, v.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1164:11 [INFO] [stdout] | [INFO] [stdout] 1164 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1165:28 [INFO] [stdout] | [INFO] [stdout] 1165 | fe25519_mul(&mut h.x, hx, u.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1167:11 [INFO] [stdout] | [INFO] [stdout] 1167 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1169:11 [INFO] [stdout] | [INFO] [stdout] 1169 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1170:28 [INFO] [stdout] | [INFO] [stdout] 1170 | fe25519_mul(&mut h.x, hx, v3.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*v3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1171:11 [INFO] [stdout] | [INFO] [stdout] 1171 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1172:28 [INFO] [stdout] | [INFO] [stdout] 1172 | fe25519_mul(&mut h.x, hx, u.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1175:19 [INFO] [stdout] | [INFO] [stdout] 1175 | fe25519_mul(vxx, vxx.clone(), v.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*vxx` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1175:32 [INFO] [stdout] | [INFO] [stdout] 1175 | fe25519_mul(vxx, vxx.clone(), v.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1177:23 [INFO] [stdout] | [INFO] [stdout] 1177 | fe25519_sub(mrcheck, vxx.clone(), u.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*vxx` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1177:36 [INFO] [stdout] | [INFO] [stdout] 1177 | fe25519_sub(mrcheck, vxx.clone(), u.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1179:20 [INFO] [stdout] | [INFO] [stdout] 1179 | if fe25519_iszero(mrcheck.clone()) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*mrcheck` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1181:24 [INFO] [stdout] | [INFO] [stdout] 1181 | fe25519_add(prcheck, vxx.clone(), u.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*vxx` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1181:37 [INFO] [stdout] | [INFO] [stdout] 1181 | fe25519_add(prcheck, vxx.clone(), u.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*u` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1183:21 [INFO] [stdout] | [INFO] [stdout] 1183 | if fe25519_iszero(prcheck.clone()) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*prcheck` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1186:13 [INFO] [stdout] | [INFO] [stdout] 1186 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1193:13 [INFO] [stdout] | [INFO] [stdout] 1193 | let hx = h.x.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `h.x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1216:11 [INFO] [stdout] | [INFO] [stdout] 1216 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1222:11 [INFO] [stdout] | [INFO] [stdout] 1222 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1224:24 [INFO] [stdout] | [INFO] [stdout] 1224 | fe25519_add(&mut r.z, t0.clone(), r.t); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1225:11 [INFO] [stdout] | [INFO] [stdout] 1225 | let rt = r.t.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.t` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1226:24 [INFO] [stdout] | [INFO] [stdout] 1226 | fe25519_sub(&mut r.t, t0.clone(), rt); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1356:11 [INFO] [stdout] | [INFO] [stdout] 1356 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1362:11 [INFO] [stdout] | [INFO] [stdout] 1362 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3802:11 [INFO] [stdout] | [INFO] [stdout] 3802 | let rz = r.z.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.z` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3804:24 [INFO] [stdout] | [INFO] [stdout] 3804 | fe25519_sub(&mut r.x, t0.clone(), r.y); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3805:11 [INFO] [stdout] | [INFO] [stdout] 3805 | let rt = r.t.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.t` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1364:24 [INFO] [stdout] | [INFO] [stdout] 1364 | fe25519_sub(&mut r.z, t0.clone(), r.t); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1365:11 [INFO] [stdout] | [INFO] [stdout] 1365 | let rt = r.t.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.t` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1366:24 [INFO] [stdout] | [INFO] [stdout] 1366 | fe25519_add(&mut r.t, t0.clone(), rt); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3841:11 [INFO] [stdout] | [INFO] [stdout] 3841 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1375:22 [INFO] [stdout] | [INFO] [stdout] 1375 | fe25519_mul(x, h.x, recip.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*recip` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1376:22 [INFO] [stdout] | [INFO] [stdout] 1376 | fe25519_mul(y, h.y, recip.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*recip` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1377:21 [INFO] [stdout] | [INFO] [stdout] 1377 | fe25519_tobytes(s, y.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3846:11 [INFO] [stdout] | [INFO] [stdout] 3846 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1378:31 [INFO] [stdout] | [INFO] [stdout] 1378 | s[31] ^= (fe25519_isnegative(x.clone()) << 7) as u8; [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*x` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3848:24 [INFO] [stdout] | [INFO] [stdout] 3848 | fe25519_sub(&mut r.z, t0.clone(), r.t); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3849:11 [INFO] [stdout] | [INFO] [stdout] 3849 | let rt = r.t.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.t` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3850:24 [INFO] [stdout] | [INFO] [stdout] 3850 | fe25519_add(&mut r.t, t0.clone(), rt); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:1406:2 [INFO] [stdout] | [INFO] [stdout] 1406 | return if c != 0 { 0 } else { -1 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1406 - return if c != 0 { 0 } else { -1 }; [INFO] [stdout] 1406 + if c != 0 { 0 } else { -1 } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | return res == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return res == 0; [INFO] [stdout] 46 + res == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:75:27 [INFO] [stdout] | [INFO] [stdout] 75 | fe25519_invert(tempz, tempz.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*tempz` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:76:30 [INFO] [stdout] | [INFO] [stdout] 76 | fe25519_mul(montgomeryx, tempx.clone(), tempz.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*tempx` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:76:45 [INFO] [stdout] | [INFO] [stdout] 76 | fe25519_mul(montgomeryx, tempx.clone(), tempz.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*tempz` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return 0; [INFO] [stdout] 94 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | / for i in 0..32 { [INFO] [stdout] 86 | | t[i] = n[i]; [INFO] [stdout] 87 | | } [INFO] [stdout] | |_____^ help: try replacing the loop by: `t.copy_from_slice(&n[..32]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] = note: `#[warn(clippy::manual_memcpy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:92:24 [INFO] [stdout] | [INFO] [stdout] 92 | fe25519_tobytes(q, pk.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*pk` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 178 - return res; [INFO] [stdout] 178 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | / for i in 0..32 { [INFO] [stdout] 119 | | t[i] = n[i]; [INFO] [stdout] 120 | | } [INFO] [stdout] | |_________^ help: try replacing the loop by: `t.copy_from_slice(&n[..32]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:129:24 [INFO] [stdout] | [INFO] [stdout] 129 | let mut swap = 0 as u32; [INFO] [stdout] | ^^^^^^^^ help: try: `0_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:130:23 [INFO] [stdout] | [INFO] [stdout] 130 | let mut pos = 255 as u32; [INFO] [stdout] | ^^^^^^^^^^ help: try: `255_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:147:23 [INFO] [stdout] | [INFO] [stdout] 147 | let da1 = da.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `da` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:150:23 [INFO] [stdout] | [INFO] [stdout] 150 | let cb1 = cb.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `cb` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:153:23 [INFO] [stdout] | [INFO] [stdout] 153 | let x31 = x3.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `x3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:156:23 [INFO] [stdout] | [INFO] [stdout] 156 | let z31 = z3.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `z3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:158:23 [INFO] [stdout] | [INFO] [stdout] 158 | let z31 = z3.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `z3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 161 | let z21 = z2.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `z2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:163:23 [INFO] [stdout] | [INFO] [stdout] 163 | let z21 = z2.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `z2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:169:19 [INFO] [stdout] | [INFO] [stdout] 169 | let z21 = z2.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `z2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:171:19 [INFO] [stdout] | [INFO] [stdout] 171 | let x21 = x2.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `x2` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | return -(1 & ((d as i32 - 1) >> 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 192 - return -(1 & ((d as i32 - 1) >> 8)); [INFO] [stdout] 192 + -(1 & ((d as i32 - 1) >> 8)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `q` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:188:14 [INFO] [stdout] | [INFO] [stdout] 188 | for i in 0..QRC_EC25519_CURVE_SIZE as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 188 - for i in 0..QRC_EC25519_CURVE_SIZE as usize { [INFO] [stdout] 188 + for in q.iter().take(QRC_EC25519_CURVE_SIZE as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhface.rs:71:2 [INFO] [stdout] | [INFO] [stdout] 71 | return qrc_ed25519_key_exchange(secret, publickey, privatekey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 - return qrc_ed25519_key_exchange(secret, publickey, privatekey); [INFO] [stdout] 71 + qrc_ed25519_key_exchange(secret, publickey, privatekey) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | return fail == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 218 - return fail == 0; [INFO] [stdout] 218 + fail == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:185:31 [INFO] [stdout] | [INFO] [stdout] 185 | kyber_indcpa_dec(buf, ct, &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_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` 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/asymmetric/cipher/kyberbody/kyberbase.rs:198:36 [INFO] [stdout] | [INFO] [stdout] 198 | let fail = qrc_intutils_verify(&ct, cmp, QRC_KYBER_CIPHERTEXT_BYTES); [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_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | &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_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:241:16 [INFO] [stdout] | [INFO] [stdout] 241 | let buf2 = buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*buf` [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/asymmetric/cipher/kyberbody/kyberbase.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | &pk, [INFO] [stdout] | ^^^ help: change this to: `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/asymmetric/cipher/kyberbody/kyberbase.rs:253:31 [INFO] [stdout] | [INFO] [stdout] 253 | kyber_indcpa_enc(ct, buf, &pk, &kr[QRC_KYBER_SYMBYTES..]); [INFO] [stdout] | ^^^ help: change this to: `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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:327:5 [INFO] [stdout] | [INFO] [stdout] 327 | return ((t1 as u64) as i16) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 327 - return ((t1 as u64) as i16) as u32; [INFO] [stdout] 327 + ((t1 as u64) as i16) as u32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:334:5 [INFO] [stdout] | [INFO] [stdout] 334 | return a.wrapping_sub(t); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 334 - return a.wrapping_sub(t); [INFO] [stdout] 334 + a.wrapping_sub(t) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:388:21 [INFO] [stdout] | [INFO] [stdout] 388 | let a = ((d >> (4 * j)) & 0x03) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((d >> (4 * j)) & 0x03)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:389:21 [INFO] [stdout] | [INFO] [stdout] 389 | let b = ((d >> ((4 * j) + 2)) & 0x03) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((d >> ((4 * j) + 2)) & 0x03)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:398:5 [INFO] [stdout] | [INFO] [stdout] 398 | return kyber_montgomery_reduce(a.wrapping_mul(b)) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 398 - return kyber_montgomery_reduce(a.wrapping_mul(b)) as u32; [INFO] [stdout] 398 + kyber_montgomery_reduce(a.wrapping_mul(b)) as u32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:398:12 [INFO] [stdout] | [INFO] [stdout] 398 | return kyber_montgomery_reduce(a.wrapping_mul(b)) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `kyber_montgomery_reduce(a.wrapping_mul(b))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i16` is unnecessary [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:429:13 [INFO] [stdout] | [INFO] [stdout] 429 | let f = 1441 as i16; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `1441_i16` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `r` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:456:14 [INFO] [stdout] | [INFO] [stdout] 456 | for j in 0..256 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 456 - for j in 0..256 { [INFO] [stdout] 456 + for in r.iter_mut().take(256) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:483:22 [INFO] [stdout] | [INFO] [stdout] 483 | for j in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 483 - for j in 0..8 { [INFO] [stdout] 483 + for (j, ) in t.iter_mut().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:491:20 [INFO] [stdout] | [INFO] [stdout] 491 | r[0] = (t[0] | (t[1] << 4)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(t[0] | (t[1] << 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:492:20 [INFO] [stdout] | [INFO] [stdout] 492 | r[1] = (t[2] | (t[3] << 4)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(t[2] | (t[3] << 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:493:20 [INFO] [stdout] | [INFO] [stdout] 493 | r[2] = (t[4] | (t[5] << 4)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(t[4] | (t[5] << 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:494:20 [INFO] [stdout] | [INFO] [stdout] 494 | r[3] = (t[6] | (t[7] << 4)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(t[6] | (t[7] << 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:499:22 [INFO] [stdout] | [INFO] [stdout] 499 | for j in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 499 - for j in 0..8 { [INFO] [stdout] 499 + for (j, ) in t.iter_mut().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:504:24 [INFO] [stdout] | [INFO] [stdout] 504 | ((((u << 5) as u32 + QRC_KYBER_Q as u32 / 2) / QRC_KYBER_Q as u32) & 31) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `((u << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:507:20 [INFO] [stdout] | [INFO] [stdout] 507 | r[0] = (t[0] | (t[1] << 5)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(t[0] | (t[1] << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:508:20 [INFO] [stdout] | [INFO] [stdout] 508 | r[1] = ((t[1] >> 3) | (t[2] << 2) | (t[3] << 7)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((t[1] >> 3) | (t[2] << 2) | (t[3] << 7))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:510:20 [INFO] [stdout] | [INFO] [stdout] 510 | r[3] = ((t[4] >> 4) | (t[5] << 1) | (t[6] << 6)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((t[4] >> 4) | (t[5] << 1) | (t[6] << 6))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:511:20 [INFO] [stdout] | [INFO] [stdout] 511 | r[4] = ((t[6] >> 2) | (t[7] << 3)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((t[6] >> 2) | (t[7] << 3))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:528:20 [INFO] [stdout] | [INFO] [stdout] 528 | t[0] = (a[0] >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `(a[0] >> 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:528:20 [INFO] [stdout] | [INFO] [stdout] 528 | t[0] = (a[0] >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `a[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:529:20 [INFO] [stdout] | [INFO] [stdout] 529 | t[1] = ((a[0] >> 5) | (a[1] << 3)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((a[0] >> 5) | (a[1] << 3))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:530:20 [INFO] [stdout] | [INFO] [stdout] 530 | t[2] = (a[1] >> 2) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `(a[1] >> 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:531:20 [INFO] [stdout] | [INFO] [stdout] 531 | t[3] = ((a[1] >> 7) | (a[2] << 1)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((a[1] >> 7) | (a[2] << 1))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:532:20 [INFO] [stdout] | [INFO] [stdout] 532 | t[4] = ((a[2] >> 4) | (a[3] << 4)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((a[2] >> 4) | (a[3] << 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:533:20 [INFO] [stdout] | [INFO] [stdout] 533 | t[5] = (a[3] >> 1) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `(a[3] >> 1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:534:20 [INFO] [stdout] | [INFO] [stdout] 534 | t[6] = ((a[3] >> 6) | (a[4] << 2)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((a[3] >> 6) | (a[4] << 2))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:535:20 [INFO] [stdout] | [INFO] [stdout] 535 | t[7] = (a[4] >> 3) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `(a[4] >> 3)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:538:22 [INFO] [stdout] | [INFO] [stdout] 538 | for j in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 538 - for j in 0..8 { [INFO] [stdout] 538 + for (j, ) in t.iter().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:540:21 [INFO] [stdout] | [INFO] [stdout] 540 | (((t[j] & 31) as u32 * QRC_KYBER_Q as u32 + 16) >> 5 as u16) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(((t[j] & 31) as u32 * QRC_KYBER_Q as u32 + 16) >> 5 as u16)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u16` is unnecessary [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:540:72 [INFO] [stdout] | [INFO] [stdout] 540 | (((t[j] & 31) as u32 * QRC_KYBER_Q as u32 + 16) >> 5 as u16) as u32; [INFO] [stdout] | ^^^^^^^^ help: try: `5_u16` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:553:20 [INFO] [stdout] | [INFO] [stdout] 553 | r[3 * i] = (t0 >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `t0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:561:28 [INFO] [stdout] | [INFO] [stdout] 561 | r.coeffs[2 * i] = ((a[3 * i] >> 0) as u16 | (((a[3 * i + 1] as u16) << 8) & 0x0FFF)) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider reducing it to: `a[3 * i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `msg` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:568:14 [INFO] [stdout] | [INFO] [stdout] 568 | for i in 0..(QRC_KYBER_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 568 - for i in 0..(QRC_KYBER_N / 8) { [INFO] [stdout] 568 + for (i, ) in msg.iter().enumerate().take((QRC_KYBER_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `msg` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:577:14 [INFO] [stdout] | [INFO] [stdout] 577 | for i in 0..(QRC_KYBER_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 577 - for i in 0..(QRC_KYBER_N / 8) { [INFO] [stdout] 577 + for (i, ) in msg.iter_mut().enumerate().take((QRC_KYBER_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:593:32 [INFO] [stdout] | [INFO] [stdout] 593 | qrc_intutils_copy8(extkey, &seed, QRC_KYBER_SYMBYTES); [INFO] [stdout] | ^^^^^ help: change this to: `seed` [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/asymmetric/cipher/kyberbody/kyberbase.rs:609:32 [INFO] [stdout] | [INFO] [stdout] 609 | qrc_intutils_copy8(extkey, &seed, QRC_KYBER_SYMBYTES); [INFO] [stdout] | ^^^^^ help: change this to: `seed` [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: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:657:23 [INFO] [stdout] | [INFO] [stdout] 657 | r.coeffs[i] = kyber_montgomery_reduce(r.coeffs[i].wrapping_mul(f)) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `kyber_montgomery_reduce(r.coeffs[i].wrapping_mul(f))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `k` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:681:26 [INFO] [stdout] | [INFO] [stdout] 681 | for k in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 681 - for k in 0..8 { [INFO] [stdout] 681 + for (k, ) in t.iter_mut().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:689:24 [INFO] [stdout] | [INFO] [stdout] 689 | r[0] = (t[0] >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `t[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `k` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:708:26 [INFO] [stdout] | [INFO] [stdout] 708 | for k in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 708 - for k in 0..4 { [INFO] [stdout] 708 + for (k, ) in t.iter_mut().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:711:39 [INFO] [stdout] | [INFO] [stdout] 711 | .wrapping_add((((t[k] as i16 >> 15) as u16) & QRC_KYBER_Q as u16) as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((((t[k] as i16 >> 15) as u16) & QRC_KYBER_Q as u16))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:716:24 [INFO] [stdout] | [INFO] [stdout] 716 | r[0] = (t[0] >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `t[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2134:2 [INFO] [stdout] | [INFO] [stdout] 2134 | return (1 & ((d as i32 - 1) >> 8)) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2134 - return (1 & ((d as i32 - 1) >> 8)) - 1; [INFO] [stdout] 2134 + (1 & ((d as i32 - 1) >> 8)) - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2203:2 [INFO] [stdout] | [INFO] [stdout] 2203 | return (k as i32 >> 8) & 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2203 - return (k as i32 >> 8) & 1; [INFO] [stdout] 2203 + (k as i32 >> 8) & 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `k` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:742:26 [INFO] [stdout] | [INFO] [stdout] 742 | for k in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 742 - for k in 0..8 { [INFO] [stdout] 742 + for (k, ) in t.iter().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:744:25 [INFO] [stdout] | [INFO] [stdout] 744 | (((t[k] & 0x7FF) as u32 * QRC_KYBER_Q as u32 + 1024) >> 11) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(((t[k] & 0x7FF) as u32 * QRC_KYBER_Q as u32 + 1024) >> 11)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `c` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2199:11 [INFO] [stdout] | [INFO] [stdout] 2199 | for i in 0..7 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 2199 - for i in 0..7 { [INFO] [stdout] 2199 + for in c.iter().take(7) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2215:2 [INFO] [stdout] | [INFO] [stdout] 2215 | return 1 & (((d as u32).wrapping_sub(1)) >> 8) as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2215 - return 1 & (((d as u32).wrapping_sub(1)) >> 8) as i32; [INFO] [stdout] 2215 + 1 & (((d as u32).wrapping_sub(1)) >> 8) as i32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `n` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2211:11 [INFO] [stdout] | [INFO] [stdout] 2211 | for i in 0..nlen { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 2211 - for i in 0..nlen { [INFO] [stdout] 2211 + for in n.iter().take(nlen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `k` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:758:26 [INFO] [stdout] | [INFO] [stdout] 758 | for k in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 758 - for k in 0..4 { [INFO] [stdout] 758 + for (k, ) in t.iter().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:760:25 [INFO] [stdout] | [INFO] [stdout] 760 | (((t[k] & 0x3FF) as u32 * QRC_KYBER_Q as u32 + 512) >> 10) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(((t[k] & 0x3FF) as u32 * QRC_KYBER_Q as u32 + 512) >> 10)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2223:2 [INFO] [stdout] | [INFO] [stdout] 2223 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2223 - return res; [INFO] [stdout] 2223 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2232:2 [INFO] [stdout] | [INFO] [stdout] 2232 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2232 - return res; [INFO] [stdout] 2232 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2239:2 [INFO] [stdout] | [INFO] [stdout] 2239 | return x as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2239 - return x as u8; [INFO] [stdout] 2239 + x as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i8` -> `i8`) [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2263:12 [INFO] [stdout] | [INFO] [stdout] 2263 | r[i] = cmp as i8; [INFO] [stdout] | ^^^^^^^^^ help: try: `cmp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i8` -> `i8`) [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2272:12 [INFO] [stdout] | [INFO] [stdout] 2272 | r[i] = cmp as i8; [INFO] [stdout] | ^^^^^^^^^ help: try: `cmp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `k` is only used to index `r` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2274:14 [INFO] [stdout] | [INFO] [stdout] 2274 | for k in i + b..256 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 2274 - for k in i + b..256 { [INFO] [stdout] 2274 + for in r.iter_mut().take(256).skip(i + b) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:824:59 [INFO] [stdout] | [INFO] [stdout] 824 | qrc_intutils_copy8(&mut r[QRC_KYBER_POLYVEC_BYTES..], &seed, QRC_KYBER_SYMBYTES); [INFO] [stdout] | ^^^^^ help: change this to: `seed` [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/asymmetric/cipher/kyberbody/kyberbase.rs:828:34 [INFO] [stdout] | [INFO] [stdout] 828 | kyber_polyvec_from_bytes(pk, &packedpk); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `packedpk` [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/asymmetric/cipher/kyberbody/kyberbase.rs:841:34 [INFO] [stdout] | [INFO] [stdout] 841 | kyber_polyvec_from_bytes(sk, &packedsk); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `packedsk` [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/asymmetric/cipher/kyberbody/kyberbase.rs:850:33 [INFO] [stdout] | [INFO] [stdout] 850 | kyber_polyvec_decompress(b, &c); [INFO] [stdout] | ^^ help: change this to: `c` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2312:17 [INFO] [stdout] | [INFO] [stdout] 2312 | fe25519_sq(t1, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:882:5 [INFO] [stdout] | [INFO] [stdout] 882 | return ctr; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 882 - return ctr; [INFO] [stdout] 882 + ctr [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2313:17 [INFO] [stdout] | [INFO] [stdout] 2313 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2314:21 [INFO] [stdout] | [INFO] [stdout] 2314 | fe25519_mul(t1, z, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:863:20 [INFO] [stdout] | [INFO] [stdout] 863 | let val0 = (((buf[pos as usize] >> 0) as u16 [INFO] [stdout] | ____________________^ [INFO] [stdout] 864 | | | ((buf[pos as usize + 1] as u16) << 8) as u16) [INFO] [stdout] 865 | | & 0x0FFF) as u16; [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 863 ~ let val0 = (((buf[pos as usize] >> 0) as u16 [INFO] [stdout] 864 + | ((buf[pos as usize + 1] as u16) << 8) as u16) [INFO] [stdout] 865 ~ & 0x0FFF); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2315:18 [INFO] [stdout] | [INFO] [stdout] 2315 | fe25519_mul(t0, t0.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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 operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:863:22 [INFO] [stdout] | [INFO] [stdout] 863 | let val0 = (((buf[pos as usize] >> 0) as u16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `buf[pos as usize]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2315:30 [INFO] [stdout] | [INFO] [stdout] 2315 | fe25519_mul(t0, t0.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2316:17 [INFO] [stdout] | [INFO] [stdout] 2316 | fe25519_sq(t0, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:864:15 [INFO] [stdout] | [INFO] [stdout] 864 | | ((buf[pos as usize + 1] as u16) << 8) as u16) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((buf[pos as usize + 1] as u16) << 8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2317:18 [INFO] [stdout] | [INFO] [stdout] 2317 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:866:20 [INFO] [stdout] | [INFO] [stdout] 866 | let val1 = (((buf[pos as usize + 1] >> 4) as u16 [INFO] [stdout] | ____________________^ [INFO] [stdout] 867 | | | ((buf[pos as usize + 2] as u16) << 4) as u16) [INFO] [stdout] 868 | | & 0x0FFF) as u16; [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 866 ~ let val1 = (((buf[pos as usize + 1] >> 4) as u16 [INFO] [stdout] 867 + | ((buf[pos as usize + 2] as u16) << 4) as u16) [INFO] [stdout] 868 ~ & 0x0FFF); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2317:30 [INFO] [stdout] | [INFO] [stdout] 2317 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:867:15 [INFO] [stdout] | [INFO] [stdout] 867 | | ((buf[pos as usize + 2] as u16) << 4) as u16) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((buf[pos as usize + 2] as u16) << 4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2318:17 [INFO] [stdout] | [INFO] [stdout] 2318 | fe25519_sq(t1, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2321:18 [INFO] [stdout] | [INFO] [stdout] 2321 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2324:18 [INFO] [stdout] | [INFO] [stdout] 2324 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2324:30 [INFO] [stdout] | [INFO] [stdout] 2324 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2325:17 [INFO] [stdout] | [INFO] [stdout] 2325 | fe25519_sq(t1, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: the loop variable `i` is used to index `a` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:892:14 [INFO] [stdout] | [INFO] [stdout] 892 | for i in 0..QRC_KYBER_K { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 892 - for i in 0..QRC_KYBER_K { [INFO] [stdout] 892 + for (i, ) in a.iter_mut().enumerate().take(QRC_KYBER_K) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2328:18 [INFO] [stdout] | [INFO] [stdout] 2328 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2331:18 [INFO] [stdout] | [INFO] [stdout] 2331 | fe25519_mul(t1, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2331:30 [INFO] [stdout] | [INFO] [stdout] 2331 | fe25519_mul(t1, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2332:17 [INFO] [stdout] | [INFO] [stdout] 2332 | fe25519_sq(t2, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2335:18 [INFO] [stdout] | [INFO] [stdout] 2335 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2338:18 [INFO] [stdout] | [INFO] [stdout] 2338 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2338:30 [INFO] [stdout] | [INFO] [stdout] 2338 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2341:18 [INFO] [stdout] | [INFO] [stdout] 2341 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2344:18 [INFO] [stdout] | [INFO] [stdout] 2344 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2344:30 [INFO] [stdout] | [INFO] [stdout] 2344 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2345:17 [INFO] [stdout] | [INFO] [stdout] 2345 | fe25519_sq(t1, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2348:18 [INFO] [stdout] | [INFO] [stdout] 2348 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2351:18 [INFO] [stdout] | [INFO] [stdout] 2351 | fe25519_mul(t1, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2351:30 [INFO] [stdout] | [INFO] [stdout] 2351 | fe25519_mul(t1, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2352:17 [INFO] [stdout] | [INFO] [stdout] 2352 | fe25519_sq(t2, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:950:16 [INFO] [stdout] | [INFO] [stdout] 950 | let buf2 = buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*buf` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2355:18 [INFO] [stdout] | [INFO] [stdout] 2355 | fe25519_sq(t2, t2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: the loop variable `i` is used to index `a` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:970:14 [INFO] [stdout] | [INFO] [stdout] 970 | for i in 0..QRC_KYBER_K { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 970 - for i in 0..QRC_KYBER_K { [INFO] [stdout] 970 + for (i, ) in a.iter().enumerate().take(QRC_KYBER_K) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2358:18 [INFO] [stdout] | [INFO] [stdout] 2358 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2358:30 [INFO] [stdout] | [INFO] [stdout] 2358 | fe25519_mul(t1, t2.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2361:18 [INFO] [stdout] | [INFO] [stdout] 2361 | fe25519_sq(t1, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2364:18 [INFO] [stdout] | [INFO] [stdout] 2364 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2364:30 [INFO] [stdout] | [INFO] [stdout] 2364 | fe25519_mul(t0, t1.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2365:17 [INFO] [stdout] | [INFO] [stdout] 2365 | fe25519_sq(t0, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2366:17 [INFO] [stdout] | [INFO] [stdout] 2366 | fe25519_sq(t0, t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: unnecessary use of `to_owned` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:996:26 [INFO] [stdout] | [INFO] [stdout] 996 | kyber_gen_matrix(at, &seed.to_owned(), 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use: `seed.as_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `at` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:1011:14 [INFO] [stdout] | [INFO] [stdout] 1011 | for i in 0..QRC_KYBER_K { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1011 - for i in 0..QRC_KYBER_K { [INFO] [stdout] 1011 + for (i, ) in at.iter().enumerate().take(QRC_KYBER_K) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberface.rs:84:2 [INFO] [stdout] | [INFO] [stdout] 84 | return qrc_kyber_ref_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return qrc_kyber_ref_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] 84 + qrc_kyber_ref_decapsulate(secret, ciphertext, privatekey) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberface.rs:98:2 [INFO] [stdout] | [INFO] [stdout] 98 | return qrc_kyber_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return qrc_kyber_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] 98 + qrc_kyber_decapsulate(secret, ciphertext, privatekey) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:90:3 [INFO] [stdout] | [INFO] [stdout] 90 | return ret_decrypt as i32 + ret_confirm as i32 + padding_ok; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 90 - return ret_decrypt as i32 + ret_confirm as i32 + padding_ok; [INFO] [stdout] 90 + ret_decrypt as i32 + ret_confirm as i32 + padding_ok [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:92:3 [INFO] [stdout] | [INFO] [stdout] 92 | return ret_decrypt as i32 + ret_confirm as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 92 - return ret_decrypt as i32 + ret_confirm as i32; [INFO] [stdout] 92 + ret_decrypt as i32 + ret_confirm as i32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `key` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | for i in 0..32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 86 - for i in 0..32 { [INFO] [stdout] 86 + for in key.iter_mut().take(32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:135:3 [INFO] [stdout] | [INFO] [stdout] 135 | return padding_ok; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 135 - return padding_ok; [INFO] [stdout] 135 + padding_ok [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:137:3 [INFO] [stdout] | [INFO] [stdout] 137 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 137 - return 0; [INFO] [stdout] 137 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `c` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | for i in 0..(MCELIECE_SYND_BYTES + 32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 127 - for i in 0..(MCELIECE_SYND_BYTES + 32) { [INFO] [stdout] 127 + for in c.iter_mut().take((MCELIECE_SYND_BYTES + 32)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `key` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | for i in 0..32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 131 - for i in 0..32 { [INFO] [stdout] 131 + for in key.iter_mut().take(32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:222:2 [INFO] [stdout] | [INFO] [stdout] 222 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 222 - return 0; [INFO] [stdout] 222 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:232:63 [INFO] [stdout] | [INFO] [stdout] 232 | pub const MCELIECE_GFBITS: usize = if QRC_MCELIECE_S3N4608T96 { [INFO] [stdout] | _______________________________________________________________^ [INFO] [stdout] 233 | | 13 [INFO] [stdout] 234 | | } else if QRC_MCELIECE_S5N6688T128 { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:234:36 [INFO] [stdout] | [INFO] [stdout] 234 | } else if QRC_MCELIECE_S5N6688T128 { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 235 | | 13 [INFO] [stdout] 236 | | } else if QRC_MCELIECE_S5N6960T119 { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:234:36 [INFO] [stdout] | [INFO] [stdout] 234 | } else if QRC_MCELIECE_S5N6688T128 { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 235 | | 13 [INFO] [stdout] 236 | | } else if QRC_MCELIECE_S5N6960T119 { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:236:36 [INFO] [stdout] | [INFO] [stdout] 236 | } else if QRC_MCELIECE_S5N6960T119 { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 237 | | 13 [INFO] [stdout] 238 | | } else if QRC_MCELIECE_S5N8192T128 { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:236:36 [INFO] [stdout] | [INFO] [stdout] 236 | } else if QRC_MCELIECE_S5N6960T119 { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 237 | | 13 [INFO] [stdout] 238 | | } else if QRC_MCELIECE_S5N8192T128 { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:238:36 [INFO] [stdout] | [INFO] [stdout] 238 | } else if QRC_MCELIECE_S5N8192T128 { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 239 | | 13 [INFO] [stdout] 240 | | } else { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:269:42 [INFO] [stdout] | [INFO] [stdout] 269 | pub const MCELIECE_PK_ROW_BYTES: usize = (MCELIECE_PK_NCOLS + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `MCELIECE_PK_NCOLS.div_ceil(8)` [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: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:270:40 [INFO] [stdout] | [INFO] [stdout] 270 | pub const MCELIECE_SYND_BYTES: usize = (MCELIECE_PK_NROWS + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `MCELIECE_PK_NROWS.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:282:2 [INFO] [stdout] | [INFO] [stdout] 282 | return t as Gf; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 282 - return t as Gf; [INFO] [stdout] 282 + t as Gf [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2367:19 [INFO] [stdout] | [INFO] [stdout] 2367 | fe25519_mul(out, t0.clone(), z); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2379:11 [INFO] [stdout] | [INFO] [stdout] 2379 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2384:11 [INFO] [stdout] | [INFO] [stdout] 2384 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2386:24 [INFO] [stdout] | [INFO] [stdout] 2386 | fe25519_add(&mut r.z, t0.clone(), r.t); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2387:11 [INFO] [stdout] | [INFO] [stdout] 2387 | let rt = r.t.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.t` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2388:24 [INFO] [stdout] | [INFO] [stdout] 2388 | fe25519_sub(&mut r.t, t0.clone(), rt); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2419:2 [INFO] [stdout] | [INFO] [stdout] 2419 | return y as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2419 - return y as u8; [INFO] [stdout] 2419 + y as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Ge25519Precomp` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2439:18 [INFO] [stdout] | [INFO] [stdout] 2439 | ge25519_cmov(t, minust.clone(), bnegative); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*minust` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:286:2 [INFO] [stdout] | [INFO] [stdout] 286 | return in0 ^ in1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 286 - return in0 ^ in1; [INFO] [stdout] 286 + in0 ^ in1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:303:2 [INFO] [stdout] | [INFO] [stdout] 303 | return tmp as Gf & MCELIECE_GFMASK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 303 - return tmp as Gf & MCELIECE_GFMASK; [INFO] [stdout] 303 + tmp as Gf & MCELIECE_GFMASK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:298:14 [INFO] [stdout] | [INFO] [stdout] 298 | let mut t = (tmp & 0x0000000001FF0000) as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(tmp & 0x0000000001FF0000)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:325:2 [INFO] [stdout] | [INFO] [stdout] 325 | return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 325 - return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] 325 + x as Gf & MCELIECE_GFMASK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `m` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:320:11 [INFO] [stdout] | [INFO] [stdout] 320 | for i in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 320 - for i in 0..4 { [INFO] [stdout] 320 + for in &m { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:351:2 [INFO] [stdout] | [INFO] [stdout] 351 | return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 351 - return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] 351 + x as Gf & MCELIECE_GFMASK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `bm` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:346:11 [INFO] [stdout] | [INFO] [stdout] 346 | for i in 0..3 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 346 - for i in 0..3 { [INFO] [stdout] 346 + for in &bm { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:376:2 [INFO] [stdout] | [INFO] [stdout] 376 | return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 376 - return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] 376 + x as Gf & MCELIECE_GFMASK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large array defined as const [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:2443:2 [INFO] [stdout] | [INFO] [stdout] 2443 | const BASE: [[Ge25519Precomp; 8]; 32] = [ [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | _____help: make this a static item: `static` [INFO] [stdout] | | [INFO] [stdout] 2444 | | [ /* 0/31 */ [INFO] [stdout] 2445 | | Ge25519Precomp { [INFO] [stdout] 2446 | | yplusx: [ 25967493, -14356035, 29566456, 3660896, -12694345, 4014787, 27544626, -11754271, -6079156, 2047605 ], [INFO] [stdout] ... | [INFO] [stdout] 3788 | | ]; [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_const_arrays [INFO] [stdout] = note: `#[warn(clippy::large_const_arrays)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `bm` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:371:11 [INFO] [stdout] | [INFO] [stdout] 371 | for i in 0..6 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 371 - for i in 0..6 { [INFO] [stdout] 371 + for in &bm { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:390:2 [INFO] [stdout] | [INFO] [stdout] 390 | return gf_sqmul(out, num); /* ^ 1111111111110 = ^ -1 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 390 - return gf_sqmul(out, num); /* ^ 1111111111110 = ^ -1 */ [INFO] [stdout] 390 + gf_sqmul(out, num) /* ^ 1111111111110 = ^ -1 */ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:394:2 [INFO] [stdout] | [INFO] [stdout] 394 | return gf_frac(den, 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 394 - return gf_frac(den, 1); [INFO] [stdout] 394 + gf_frac(den, 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:432:12 [INFO] [stdout] | [INFO] [stdout] 432 | dest[0] = a as u8 & 0x00FF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider reducing it to: `(a as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:441:2 [INFO] [stdout] | [INFO] [stdout] 441 | return a & MCELIECE_GFMASK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 441 - return a & MCELIECE_GFMASK; [INFO] [stdout] 441 + a & MCELIECE_GFMASK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:452:2 [INFO] [stdout] | [INFO] [stdout] 452 | return ret; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 452 - return ret; [INFO] [stdout] 452 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:457:11 [INFO] [stdout] | [INFO] [stdout] 457 | out[1] = (int >> 0x08) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x08) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:458:11 [INFO] [stdout] | [INFO] [stdout] 458 | out[2] = (int >> 0x10) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x10) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:459:11 [INFO] [stdout] | [INFO] [stdout] 459 | out[3] = (int >> 0x18) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x18) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:460:11 [INFO] [stdout] | [INFO] [stdout] 460 | out[4] = (int >> 0x20) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x20) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:461:11 [INFO] [stdout] | [INFO] [stdout] 461 | out[5] = (int >> 0x28) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x28) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:462:11 [INFO] [stdout] | [INFO] [stdout] 462 | out[6] = (int >> 0x30) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x30) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:463:11 [INFO] [stdout] | [INFO] [stdout] 463 | out[7] = (int >> 0x38) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x38) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:474:2 [INFO] [stdout] | [INFO] [stdout] 474 | return ret; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 474 - return ret; [INFO] [stdout] 474 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:483:2 [INFO] [stdout] | [INFO] [stdout] 483 | return a >> 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 483 - return a >> 3; [INFO] [stdout] 483 + a >> 3 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:641:2 [INFO] [stdout] | [INFO] [stdout] 641 | return r; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 641 - return r; [INFO] [stdout] 641 + r [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `out` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:666:12 [INFO] [stdout] | [INFO] [stdout] 666 | for j in 0..(2 * MCELIECE_SYS_T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 666 - for j in 0..(2 * MCELIECE_SYS_T) { [INFO] [stdout] 666 + for in out.iter_mut().take((2 * MCELIECE_SYS_T)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i32` is unnecessary [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:771:16 [INFO] [stdout] | [INFO] [stdout] 771 | let mut inc = 0 as i32; [INFO] [stdout] | ^^^^^^^^ help: try: `0_i32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `b_int_v` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:787:12 [INFO] [stdout] | [INFO] [stdout] 787 | for i in 0..64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 787 - for i in 0..64 { [INFO] [stdout] 787 + for in b_int_v.iter_mut().take(64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `b_int_v` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:802:12 [INFO] [stdout] | [INFO] [stdout] 802 | for i in 0..64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 802 - for i in 0..64 { [INFO] [stdout] 802 + for in b_int_v.iter_mut().take(64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `b_int_v` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:812:12 [INFO] [stdout] | [INFO] [stdout] 812 | for i in 0..64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 812 - for i in 0..64 { [INFO] [stdout] 812 + for in b_int_v.iter_mut().take(64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `b_int_v` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:825:12 [INFO] [stdout] | [INFO] [stdout] 825 | for i in 0..64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 825 - for i in 0..64 { [INFO] [stdout] 825 + for in b_int_v.iter_mut().take(64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:841:21 [INFO] [stdout] | [INFO] [stdout] 841 | store8(&mut r_ptr[i * 16 + 0..], r_int_v[0][i]); [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `i * 16` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `l` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:853:12 [INFO] [stdout] | [INFO] [stdout] 853 | for j in 0..MCELIECE_GFBITS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 853 - for j in 0..MCELIECE_GFBITS { [INFO] [stdout] 853 + for (j, ) in l.iter_mut().enumerate().take(MCELIECE_GFBITS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `l` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:858:11 [INFO] [stdout] | [INFO] [stdout] 858 | for j in 0..MCELIECE_GFBITS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 858 - for j in 0..MCELIECE_GFBITS { [INFO] [stdout] 858 + for in l.iter_mut().take(MCELIECE_GFBITS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:952:137 [INFO] [stdout] | [INFO] [stdout] 952 | ...s_transform_itou_32(&temp[((n + n / 4) as usize)..].to_owned())))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `&temp[((n + n / 4) as usize)..]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1093:43 [INFO] [stdout] | [INFO] [stdout] 1093 | b[x as usize] = (a[x as usize] << 16) | fx as i32; [INFO] [stdout] | ^^^^^^^^^ help: try: `fx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1143:31 [INFO] [stdout] | [INFO] [stdout] 1143 | let mut d = p[i as usize + j as usize] ^ p[i as usize + j + stride]; [INFO] [stdout] | ^^^^^^^^^^ help: try: `j` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1256:2 [INFO] [stdout] | [INFO] [stdout] 1256 | return check as i32 ^ 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1256 - return check as i32 ^ 1; [INFO] [stdout] 1256 + check as i32 ^ 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `g` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1220:11 [INFO] [stdout] | [INFO] [stdout] 1220 | for i in 0..MCELIECE_SYS_T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1220 - for i in 0..MCELIECE_SYS_T { [INFO] [stdout] 1220 + for in g.iter_mut().take(MCELIECE_SYS_T) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1267:2 [INFO] [stdout] | [INFO] [stdout] 1267 | return mask as u8 & 0x000000FF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1267 - return mask as u8 & 0x000000FF; [INFO] [stdout] 1267 + mask as u8 & 0x000000FF [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1267:9 [INFO] [stdout] | [INFO] [stdout] 1267 | return mask as u8 & 0x000000FF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(mask as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `load_gf` doesn't need a mutable reference [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1282:22 [INFO] [stdout] | [INFO] [stdout] 1282 | ind[i] = load_gf(&mut brnd[(i * 2)..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1282 - ind[i] = load_gf(&mut brnd[(i * 2)..]); [INFO] [stdout] 1282 + ind[i] = load_gf(&brnd[(i * 2)..]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `load_gf` doesn't need a mutable reference [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1310:23 [INFO] [stdout] | [INFO] [stdout] 1310 | nrnd[i] = load_gf(&mut brnd[(i * 2)..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1310 - nrnd[i] = load_gf(&mut brnd[(i * 2)..]); [INFO] [stdout] 1310 + nrnd[i] = load_gf(&brnd[(i * 2)..]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `nrnd` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1317:13 [INFO] [stdout] | [INFO] [stdout] 1317 | for i in 0..MCELIECE_SYS_T * 2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1317 - for i in 0..MCELIECE_SYS_T * 2 { [INFO] [stdout] 1317 + for in nrnd.iter().take(MCELIECE_SYS_T * 2) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `e` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1355:11 [INFO] [stdout] | [INFO] [stdout] 1355 | for i in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1355 - for i in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] 1355 + for (i, ) in e.iter_mut().enumerate().take((MCELIECE_SYS_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1424:2 [INFO] [stdout] | [INFO] [stdout] 1424 | return ret - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1424 - return ret - 1; [INFO] [stdout] 1424 + ret - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1441:2 [INFO] [stdout] | [INFO] [stdout] 1441 | return ret as i32 - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1441 - return ret as i32 - 1; [INFO] [stdout] 1441 + ret as i32 - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1601:2 [INFO] [stdout] | [INFO] [stdout] 1601 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1601 - return res; [INFO] [stdout] 1601 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `g` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1459:11 [INFO] [stdout] | [INFO] [stdout] 1459 | for i in 0..MCELIECE_SYS_T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1459 - for i in 0..MCELIECE_SYS_T { [INFO] [stdout] 1459 + for in g.iter_mut().take(MCELIECE_SYS_T) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `inv` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1491:12 [INFO] [stdout] | [INFO] [stdout] 1491 | for i in 0..MCELIECE_SYS_N { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1491 - for i in 0..MCELIECE_SYS_N { [INFO] [stdout] 1491 + for in inv.iter_mut().take(MCELIECE_SYS_N) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1495:12 [INFO] [stdout] | [INFO] [stdout] 1495 | for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1495 - for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] 1495 + for in mat.iter_mut().take(MCELIECE_PK_NROWS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1496:13 [INFO] [stdout] | [INFO] [stdout] 1496 | for j in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1496 - for j in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] 1496 + for in mat.iter_mut().take((MCELIECE_SYS_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1518:16 [INFO] [stdout] | [INFO] [stdout] 1518 | b |= (inv[j + 0] >> k & 1) as u8; [INFO] [stdout] | ^^^^^ help: consider reducing it to: `j` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1532:15 [INFO] [stdout] | [INFO] [stdout] 1532 | for i in 0..((MCELIECE_PK_NROWS + 7) / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `MCELIECE_PK_NROWS.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `col` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1545:17 [INFO] [stdout] | [INFO] [stdout] 1545 | for col in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1545 - for col in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] 1545 + for in mat.iter_mut().take((MCELIECE_SYS_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1552:15 [INFO] [stdout] | [INFO] [stdout] 1552 | for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1552 - for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] 1552 + for in mat.iter_mut().take(MCELIECE_PK_NROWS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `col` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1565:18 [INFO] [stdout] | [INFO] [stdout] 1565 | for col in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1565 - for col in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] 1565 + for in mat.iter_mut().take((MCELIECE_SYS_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1577:13 [INFO] [stdout] | [INFO] [stdout] 1577 | for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1577 - for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] 1577 + for in mat.iter().take(MCELIECE_PK_NROWS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1597:11 [INFO] [stdout] | [INFO] [stdout] 1597 | for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1597 - for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] 1597 + for in mat.iter_mut().take(MCELIECE_PK_NROWS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1665:2 [INFO] [stdout] | [INFO] [stdout] 1665 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1665 - return res; [INFO] [stdout] 1665 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1618:2 [INFO] [stdout] | [INFO] [stdout] 1618 | / for i in 0..MCELIECE_SYS_T { [INFO] [stdout] 1619 | | mat[1][i] = f[i]; [INFO] [stdout] 1620 | | } [INFO] [stdout] | |_____^ help: try replacing the loop by: `mat[1][..MCELIECE_SYS_T].copy_from_slice(&f[..MCELIECE_SYS_T]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1633:13 [INFO] [stdout] | [INFO] [stdout] 1633 | for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1633 - for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] 1633 + for in mat.iter_mut().take((MCELIECE_SYS_T + 1)).skip(j) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1641:13 [INFO] [stdout] | [INFO] [stdout] 1641 | for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1641 - for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] 1641 + for in mat.iter_mut().take((MCELIECE_SYS_T + 1)).skip(j) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1649:15 [INFO] [stdout] | [INFO] [stdout] 1649 | for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1649 - for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] 1649 + for in mat.iter_mut().take((MCELIECE_SYS_T + 1)).skip(j) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1660:3 [INFO] [stdout] | [INFO] [stdout] 1660 | / for i in 0..MCELIECE_SYS_T { [INFO] [stdout] 1661 | | out[i] = mat[MCELIECE_SYS_T][i]; [INFO] [stdout] 1662 | | } [INFO] [stdout] | |_________^ help: try replacing the loop by: `out[..MCELIECE_SYS_T].copy_from_slice(&mat[MCELIECE_SYS_T][..MCELIECE_SYS_T]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mcelieceface.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | return qrc_mceliece_ref_decapsulate(secret, ciphertext, privatekey) == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return qrc_mceliece_ref_decapsulate(secret, ciphertext, privatekey) == 0; [INFO] [stdout] 126 + qrc_mceliece_ref_decapsulate(secret, ciphertext, privatekey) == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mcelieceface.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 128 - return false; [INFO] [stdout] 128 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mcelieceface.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | return qrc_mceliece_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 147 - return qrc_mceliece_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] 147 + qrc_mceliece_decapsulate(secret, ciphertext, privatekey) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mcelieceface.rs:222:17 [INFO] [stdout] | [INFO] [stdout] 222 | privatekey: &mut Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 222 - privatekey: &mut Vec, [INFO] [stdout] 222 + privatekey: &mut [u8], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 96]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:158:16 [INFO] [stdout] | [INFO] [stdout] 158 | let key = &seedbuf.clone()[2 * DILITHIUM_SEEDBYTES..]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `(*seedbuf)` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:170:60 [INFO] [stdout] | [INFO] [stdout] 170 | dilithium_polyvec_matrix_pointwise_montgomery(t1, mat, s1hat.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*s1hat` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:175:32 [INFO] [stdout] | [INFO] [stdout] 175 | dilithium_polyveck_add(t1, t1.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:175:44 [INFO] [stdout] | [INFO] [stdout] 175 | dilithium_polyveck_add(t1, t1.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*s2` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:179:45 [INFO] [stdout] | [INFO] [stdout] 179 | dilithium_polyveck_power2_round(t1, t0, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:180:32 [INFO] [stdout] | [INFO] [stdout] 180 | dilithium_pack_pk(pk, rho, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:185:41 [INFO] [stdout] | [INFO] [stdout] 185 | dilithium_pack_sk(sk, rho, tr, key, t0.clone(), s1.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:185:53 [INFO] [stdout] | [INFO] [stdout] 185 | dilithium_pack_sk(sk, rho, tr, key, t0.clone(), s1.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*s1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:185:65 [INFO] [stdout] | [INFO] [stdout] 185 | dilithium_pack_sk(sk, rho, tr, key, t0.clone(), s1.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*s2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3802:11 [INFO] [stdout] | [INFO] [stdout] 3802 | let rz = r.z.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.z` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3804:24 [INFO] [stdout] | [INFO] [stdout] 3804 | fe25519_sub(&mut r.x, t0.clone(), r.y); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3805:11 [INFO] [stdout] | [INFO] [stdout] 3805 | let rt = r.t.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.t` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:265:64 [INFO] [stdout] | [INFO] [stdout] 265 | dilithium_polyvec_matrix_pointwise_montgomery(w1, mat, z.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:271:46 [INFO] [stdout] | [INFO] [stdout] 271 | dilithium_polyveck_decompose(w1, w0, w1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:272:41 [INFO] [stdout] | [INFO] [stdout] 272 | dilithium_polyveck_pack_w1(sig, w1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w1` [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: using `clone` on type `QrcDilithiumPoly` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:289:57 [INFO] [stdout] | [INFO] [stdout] 289 | dilithium_polyvecl_pointwise_poly_montgomery(z, cp.clone(), s1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*cp` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:289:69 [INFO] [stdout] | [INFO] [stdout] 289 | dilithium_polyvecl_pointwise_poly_montgomery(z, cp.clone(), s1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*s1` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:291:35 [INFO] [stdout] | [INFO] [stdout] 291 | dilithium_polyvecl_add(z, z.clone(), y.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:291:46 [INFO] [stdout] | [INFO] [stdout] 291 | dilithium_polyvecl_add(z, z.clone(), y.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*y` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:296:39 [INFO] [stdout] | [INFO] [stdout] 296 | if dilithium_polyvecl_chknorm(z.clone(), (DILITHIUM_GAMMA1 - DILITHIUM_BETA) as i32) != 0 { [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPoly` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:302:57 [INFO] [stdout] | [INFO] [stdout] 302 | dilithium_polyveck_pointwise_poly_montgomery(h, cp.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*cp` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:302:69 [INFO] [stdout] | [INFO] [stdout] 302 | dilithium_polyveck_pointwise_poly_montgomery(h, cp.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*s2` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:304:19 [INFO] [stdout] | [INFO] [stdout] 304 | let w01 = w0.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w0` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:305:41 [INFO] [stdout] | [INFO] [stdout] 305 | dilithium_polyveck_sub(w0, w01, h.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*h` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:308:39 [INFO] [stdout] | [INFO] [stdout] 308 | if dilithium_polyveck_chknorm(w0.clone(), (DILITHIUM_GAMMA2 - DILITHIUM_BETA) as i32) != 0 { [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w0` [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: using `clone` on type `QrcDilithiumPoly` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:314:57 [INFO] [stdout] | [INFO] [stdout] 314 | dilithium_polyveck_pointwise_poly_montgomery(h, cp.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*cp` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:314:69 [INFO] [stdout] | [INFO] [stdout] 314 | dilithium_polyveck_pointwise_poly_montgomery(h, cp.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:318:39 [INFO] [stdout] | [INFO] [stdout] 318 | if dilithium_polyveck_chknorm(h.clone(), DILITHIUM_GAMMA2 as i32) != 0 { [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*h` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:322:36 [INFO] [stdout] | [INFO] [stdout] 322 | dilithium_polyveck_add(w0, w0.clone(), h.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3841:11 [INFO] [stdout] | [INFO] [stdout] 3841 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3846:11 [INFO] [stdout] | [INFO] [stdout] 3846 | let ry = r.y.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.y` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:322:48 [INFO] [stdout] | [INFO] [stdout] 322 | dilithium_polyveck_add(w0, w0.clone(), h.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*h` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:324:49 [INFO] [stdout] | [INFO] [stdout] 324 | let n = dilithium_polyveck_make_hint(h, w0.clone(), w1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w0` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:324:61 [INFO] [stdout] | [INFO] [stdout] 324 | let n = dilithium_polyveck_make_hint(h, w0.clone(), w1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w1` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:338:9 [INFO] [stdout] | [INFO] [stdout] 338 | z.clone(), [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | h.clone(), [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*h` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 476 - return res; [INFO] [stdout] 476 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3848:24 [INFO] [stdout] | [INFO] [stdout] 3848 | fe25519_sub(&mut r.z, t0.clone(), r.t); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3849:11 [INFO] [stdout] | [INFO] [stdout] 3849 | let rt = r.t.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `r.t` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ec25519base.rs:3850:24 [INFO] [stdout] | [INFO] [stdout] 3850 | fe25519_add(&mut r.t, t0.clone(), rt); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | return res == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return res == 0; [INFO] [stdout] 46 + res == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:75:27 [INFO] [stdout] | [INFO] [stdout] 75 | fe25519_invert(tempz, tempz.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*tempz` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:76:30 [INFO] [stdout] | [INFO] [stdout] 76 | fe25519_mul(montgomeryx, tempx.clone(), tempz.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*tempx` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:76:45 [INFO] [stdout] | [INFO] [stdout] 76 | fe25519_mul(montgomeryx, tempx.clone(), tempz.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*tempz` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return 0; [INFO] [stdout] 94 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | / for i in 0..32 { [INFO] [stdout] 86 | | t[i] = n[i]; [INFO] [stdout] 87 | | } [INFO] [stdout] | |_____^ help: try replacing the loop by: `t.copy_from_slice(&n[..32]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] = note: `#[warn(clippy::manual_memcpy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:92:24 [INFO] [stdout] | [INFO] [stdout] 92 | fe25519_tobytes(q, pk.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*pk` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 178 - return res; [INFO] [stdout] 178 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | / for i in 0..32 { [INFO] [stdout] 119 | | t[i] = n[i]; [INFO] [stdout] 120 | | } [INFO] [stdout] | |_________^ help: try replacing the loop by: `t.copy_from_slice(&n[..32]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:407:9 [INFO] [stdout] | [INFO] [stdout] 407 | / if dilithium_unpack_sig(c, z, h, sig) == 0 { [INFO] [stdout] 408 | | if dilithium_polyvecl_chknorm(z.clone(), (DILITHIUM_GAMMA1 - DILITHIUM_BETA) as i32) [INFO] [stdout] 409 | | == 0 [INFO] [stdout] ... | [INFO] [stdout] 473 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 407 ~ if dilithium_unpack_sig(c, z, h, sig) == 0 [INFO] [stdout] 408 ~ && dilithium_polyvecl_chknorm(z.clone(), (DILITHIUM_GAMMA1 - DILITHIUM_BETA) as i32) [INFO] [stdout] 409 | == 0 [INFO] [stdout] ... [INFO] [stdout] 471 | res = qrc_intutils_verify(c, c2, DILITHIUM_SEEDBYTES) == 0; [INFO] [stdout] 472 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:408:43 [INFO] [stdout] | [INFO] [stdout] 408 | if dilithium_polyvecl_chknorm(z.clone(), (DILITHIUM_GAMMA1 - DILITHIUM_BETA) as i32) [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:433:72 [INFO] [stdout] | [INFO] [stdout] 433 | dilithium_polyvec_matrix_pointwise_montgomery(w1, mat, z.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPoly` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:438:66 [INFO] [stdout] | [INFO] [stdout] 438 | dilithium_polyveck_pointwise_poly_montgomery(t1, cp.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*cp` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:438:78 [INFO] [stdout] | [INFO] [stdout] 438 | dilithium_polyveck_pointwise_poly_montgomery(t1, cp.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:440:27 [INFO] [stdout] | [INFO] [stdout] 440 | let w11 = w1.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:441:49 [INFO] [stdout] | [INFO] [stdout] 441 | dilithium_polyveck_sub(w1, w11, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:447:49 [INFO] [stdout] | [INFO] [stdout] 447 | dilithium_polyveck_use_hint(w1, w1.clone(), h.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:447:61 [INFO] [stdout] | [INFO] [stdout] 447 | dilithium_polyveck_use_hint(w1, w1.clone(), h.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*h` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:448:49 [INFO] [stdout] | [INFO] [stdout] 448 | dilithium_polyveck_pack_w1(buf, w1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w1` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:515:5 [INFO] [stdout] | [INFO] [stdout] 515 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 515 - return res; [INFO] [stdout] 515 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:129:24 [INFO] [stdout] | [INFO] [stdout] 129 | let mut swap = 0 as u32; [INFO] [stdout] | ^^^^^^^^ help: try: `0_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:130:23 [INFO] [stdout] | [INFO] [stdout] 130 | let mut pos = 255 as u32; [INFO] [stdout] | ^^^^^^^^^^ help: try: `255_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `isize` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:505:13 [INFO] [stdout] | [INFO] [stdout] 505 | mlen.clone() as usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*mlen` [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: using `clone` on type `isize` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:511:68 [INFO] [stdout] | [INFO] [stdout] 511 | qrc_intutils_copy8(m, &sm[DILITHIUM_SIGNATURE_SIZE..], mlen.clone() as usize); [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*mlen` [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 `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:562:35 [INFO] [stdout] | [INFO] [stdout] 562 | } else if QRC_DILITHIUM_MODE == 3 { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 563 | | 1 << 19 [INFO] [stdout] 564 | | } else if QRC_DILITHIUM_MODE == 5 { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:564:35 [INFO] [stdout] | [INFO] [stdout] 564 | } else if QRC_DILITHIUM_MODE == 5 { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 565 | | 1 << 19 [INFO] [stdout] 566 | | } else { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:572:35 [INFO] [stdout] | [INFO] [stdout] 572 | } else if QRC_DILITHIUM_MODE == 3 { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 573 | | (DILITHIUM_Q - 1) / 32 [INFO] [stdout] 574 | | } else if QRC_DILITHIUM_MODE == 5 { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:574:35 [INFO] [stdout] | [INFO] [stdout] 574 | } else if QRC_DILITHIUM_MODE == 5 { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 575 | | (DILITHIUM_Q - 1) / 32 [INFO] [stdout] 576 | | } else { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:147:23 [INFO] [stdout] | [INFO] [stdout] 147 | let da1 = da.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `da` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:150:23 [INFO] [stdout] | [INFO] [stdout] 150 | let cb1 = cb.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `cb` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:153:23 [INFO] [stdout] | [INFO] [stdout] 153 | let x31 = x3.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `x3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:156:23 [INFO] [stdout] | [INFO] [stdout] 156 | let z31 = z3.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `z3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:158:23 [INFO] [stdout] | [INFO] [stdout] 158 | let z31 = z3.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `z3` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 161 | let z21 = z2.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `z2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:163:23 [INFO] [stdout] | [INFO] [stdout] 163 | let z21 = z2.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `z2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:169:19 [INFO] [stdout] | [INFO] [stdout] 169 | let z21 = z2.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `z2` [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: using `clone` on type `[i32; 10]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:171:19 [INFO] [stdout] | [INFO] [stdout] 171 | let x21 = x2.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `x2` [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: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:625:47 [INFO] [stdout] | [INFO] [stdout] 625 | const DILITHIUM_POLY_UNIFORM_NBLOCKS: usize = (768 + QRC_KECCAK_128_RATE - 1) / QRC_KECCAK_128_RATE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `768_usize.div_ceil(QRC_KECCAK_128_RATE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | return -(1 & ((d as i32 - 1) >> 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 192 - return -(1 & ((d as i32 - 1) >> 8)); [INFO] [stdout] 192 + -(1 & ((d as i32 - 1) >> 8)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `q` [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhbase.rs:188:14 [INFO] [stdout] | [INFO] [stdout] 188 | for i in 0..QRC_EC25519_CURVE_SIZE as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 188 - for i in 0..QRC_EC25519_CURVE_SIZE as usize { [INFO] [stdout] 188 + for in q.iter().take(QRC_EC25519_CURVE_SIZE as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/ecdhbody/ecdhface.rs:71:2 [INFO] [stdout] | [INFO] [stdout] 71 | return qrc_ed25519_key_exchange(secret, publickey, privatekey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 - return qrc_ed25519_key_exchange(secret, publickey, privatekey); [INFO] [stdout] 71 + qrc_ed25519_key_exchange(secret, publickey, privatekey) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:628:5 [INFO] [stdout] | [INFO] [stdout] 628 | (136 + QRC_KECCAK_128_RATE - 1) / QRC_KECCAK_128_RATE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `136_usize.div_ceil(QRC_KECCAK_128_RATE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:630:5 [INFO] [stdout] | [INFO] [stdout] 630 | (227 + QRC_KECCAK_128_RATE - 1) / QRC_KECCAK_128_RATE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `227_usize.div_ceil(QRC_KECCAK_128_RATE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:636:5 [INFO] [stdout] | [INFO] [stdout] 636 | (576 + QRC_KECCAK_256_RATE - 1) / QRC_KECCAK_256_RATE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `576_usize.div_ceil(QRC_KECCAK_256_RATE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:638:5 [INFO] [stdout] | [INFO] [stdout] 638 | (640 + QRC_KECCAK_256_RATE - 1) / QRC_KECCAK_256_RATE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `640_usize.div_ceil(QRC_KECCAK_256_RATE)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | return fail == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 218 - return fail == 0; [INFO] [stdout] 218 + fail == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:684:5 [INFO] [stdout] | [INFO] [stdout] 684 | return t; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 684 - return t; [INFO] [stdout] 684 + t [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:691:5 [INFO] [stdout] | [INFO] [stdout] 691 | return t; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 691 - return t; [INFO] [stdout] 691 + t [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:697:5 [INFO] [stdout] | [INFO] [stdout] 697 | return a; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 697 - return a; [INFO] [stdout] 697 + a [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:706:5 [INFO] [stdout] | [INFO] [stdout] 706 | return a1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 706 - return a1; [INFO] [stdout] 706 + a1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:722:5 [INFO] [stdout] | [INFO] [stdout] 722 | return a1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 722 - return a1; [INFO] [stdout] 722 + a1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:735:5 [INFO] [stdout] | [INFO] [stdout] 735 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 735 - return res; [INFO] [stdout] 735 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:185:31 [INFO] [stdout] | [INFO] [stdout] 185 | kyber_indcpa_dec(buf, ct, &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_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` 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/asymmetric/cipher/kyberbody/kyberbase.rs:198:36 [INFO] [stdout] | [INFO] [stdout] 198 | let fail = qrc_intutils_verify(&ct, cmp, QRC_KYBER_CIPHERTEXT_BYTES); [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_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | &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_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:241:16 [INFO] [stdout] | [INFO] [stdout] 241 | let buf2 = buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*buf` [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/asymmetric/cipher/kyberbody/kyberbase.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | &pk, [INFO] [stdout] | ^^^ help: change this to: `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/asymmetric/cipher/kyberbody/kyberbase.rs:253:31 [INFO] [stdout] | [INFO] [stdout] 253 | kyber_indcpa_enc(ct, buf, &pk, &kr[QRC_KYBER_SYMBYTES..]); [INFO] [stdout] | ^^^ help: change this to: `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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:760:5 [INFO] [stdout] | [INFO] [stdout] 760 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 760 - return res; [INFO] [stdout] 760 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:327:5 [INFO] [stdout] | [INFO] [stdout] 327 | return ((t1 as u64) as i16) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 327 - return ((t1 as u64) as i16) as u32; [INFO] [stdout] 327 + ((t1 as u64) as i16) as u32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:334:5 [INFO] [stdout] | [INFO] [stdout] 334 | return a.wrapping_sub(t); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 334 - return a.wrapping_sub(t); [INFO] [stdout] 334 + a.wrapping_sub(t) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:803:17 [INFO] [stdout] | [INFO] [stdout] 803 | a[j] = a[j] + t; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace it with: `a[j] += t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `a` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:837:14 [INFO] [stdout] | [INFO] [stdout] 837 | for j in 0..QRC_DILITHIUM_N { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 837 - for j in 0..QRC_DILITHIUM_N { [INFO] [stdout] 837 + for in a.iter_mut().take(QRC_DILITHIUM_N) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:388:21 [INFO] [stdout] | [INFO] [stdout] 388 | let a = ((d >> (4 * j)) & 0x03) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((d >> (4 * j)) & 0x03)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:389:21 [INFO] [stdout] | [INFO] [stdout] 389 | let b = ((d >> ((4 * j) + 2)) & 0x03) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((d >> ((4 * j) + 2)) & 0x03)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:398:5 [INFO] [stdout] | [INFO] [stdout] 398 | return kyber_montgomery_reduce(a.wrapping_mul(b)) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 398 - return kyber_montgomery_reduce(a.wrapping_mul(b)) as u32; [INFO] [stdout] 398 + kyber_montgomery_reduce(a.wrapping_mul(b)) as u32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:398:12 [INFO] [stdout] | [INFO] [stdout] 398 | return kyber_montgomery_reduce(a.wrapping_mul(b)) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `kyber_montgomery_reduce(a.wrapping_mul(b))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:922:5 [INFO] [stdout] | [INFO] [stdout] 922 | return s; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 922 - return s; [INFO] [stdout] 922 + s [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i16` is unnecessary [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:429:13 [INFO] [stdout] | [INFO] [stdout] 429 | let f = 1441 as i16; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `1441_i16` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `r` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:456:14 [INFO] [stdout] | [INFO] [stdout] 456 | for j in 0..256 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 456 - for j in 0..256 { [INFO] [stdout] 456 + for in r.iter_mut().take(256) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:483:22 [INFO] [stdout] | [INFO] [stdout] 483 | for j in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 483 - for j in 0..8 { [INFO] [stdout] 483 + for (j, ) in t.iter_mut().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:952:5 [INFO] [stdout] | [INFO] [stdout] 952 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 952 - return res; [INFO] [stdout] 952 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:974:5 [INFO] [stdout] | [INFO] [stdout] 974 | return ctr; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 974 - return ctr; [INFO] [stdout] 974 + ctr [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:491:20 [INFO] [stdout] | [INFO] [stdout] 491 | r[0] = (t[0] | (t[1] << 4)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(t[0] | (t[1] << 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:492:20 [INFO] [stdout] | [INFO] [stdout] 492 | r[1] = (t[2] | (t[3] << 4)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(t[2] | (t[3] << 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:493:20 [INFO] [stdout] | [INFO] [stdout] 493 | r[2] = (t[4] | (t[5] << 4)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(t[4] | (t[5] << 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:494:20 [INFO] [stdout] | [INFO] [stdout] 494 | r[3] = (t[6] | (t[7] << 4)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(t[6] | (t[7] << 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:499:22 [INFO] [stdout] | [INFO] [stdout] 499 | for j in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 499 - for j in 0..8 { [INFO] [stdout] 499 + for (j, ) in t.iter_mut().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:504:24 [INFO] [stdout] | [INFO] [stdout] 504 | ((((u << 5) as u32 + QRC_KYBER_Q as u32 / 2) / QRC_KYBER_Q as u32) & 31) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `((u << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:507:20 [INFO] [stdout] | [INFO] [stdout] 507 | r[0] = (t[0] | (t[1] << 5)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(t[0] | (t[1] << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:508:20 [INFO] [stdout] | [INFO] [stdout] 508 | r[1] = ((t[1] >> 3) | (t[2] << 2) | (t[3] << 7)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((t[1] >> 3) | (t[2] << 2) | (t[3] << 7))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:510:20 [INFO] [stdout] | [INFO] [stdout] 510 | r[3] = ((t[4] >> 4) | (t[5] << 1) | (t[6] << 6)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((t[4] >> 4) | (t[5] << 1) | (t[6] << 6))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1046:5 [INFO] [stdout] | [INFO] [stdout] 1046 | return ctr; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1046 - return ctr; [INFO] [stdout] 1046 + ctr [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:511:20 [INFO] [stdout] | [INFO] [stdout] 511 | r[4] = ((t[6] >> 2) | (t[7] << 3)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((t[6] >> 2) | (t[7] << 3))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:528:20 [INFO] [stdout] | [INFO] [stdout] 528 | t[0] = (a[0] >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `(a[0] >> 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:528:20 [INFO] [stdout] | [INFO] [stdout] 528 | t[0] = (a[0] >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `a[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1092:16 [INFO] [stdout] | [INFO] [stdout] 1092 | if !(b as usize > i) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `(b as usize <= i)` [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: the loop variable `i` is used to index `buf` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1067:14 [INFO] [stdout] | [INFO] [stdout] 1067 | for i in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1067 - for i in 0..8 { [INFO] [stdout] 1067 + for (i, ) in buf.iter().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:529:20 [INFO] [stdout] | [INFO] [stdout] 529 | t[1] = ((a[0] >> 5) | (a[1] << 3)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((a[0] >> 5) | (a[1] << 3))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:530:20 [INFO] [stdout] | [INFO] [stdout] 530 | t[2] = (a[1] >> 2) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `(a[1] >> 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:531:20 [INFO] [stdout] | [INFO] [stdout] 531 | t[3] = ((a[1] >> 7) | (a[2] << 1)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((a[1] >> 7) | (a[2] << 1))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:532:20 [INFO] [stdout] | [INFO] [stdout] 532 | t[4] = ((a[2] >> 4) | (a[3] << 4)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((a[2] >> 4) | (a[3] << 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:533:20 [INFO] [stdout] | [INFO] [stdout] 533 | t[5] = (a[3] >> 1) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `(a[3] >> 1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:534:20 [INFO] [stdout] | [INFO] [stdout] 534 | t[6] = ((a[3] >> 6) | (a[4] << 2)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((a[3] >> 6) | (a[4] << 2))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:535:20 [INFO] [stdout] | [INFO] [stdout] 535 | t[7] = (a[4] >> 3) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `(a[4] >> 3)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:538:22 [INFO] [stdout] | [INFO] [stdout] 538 | for j in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 538 - for j in 0..8 { [INFO] [stdout] 538 + for (j, ) in t.iter().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:540:21 [INFO] [stdout] | [INFO] [stdout] 540 | (((t[j] & 31) as u32 * QRC_KYBER_Q as u32 + 16) >> 5 as u16) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(((t[j] & 31) as u32 * QRC_KYBER_Q as u32 + 16) >> 5 as u16)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u16` is unnecessary [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:540:72 [INFO] [stdout] | [INFO] [stdout] 540 | (((t[j] & 31) as u32 * QRC_KYBER_Q as u32 + 16) >> 5 as u16) as u32; [INFO] [stdout] | ^^^^^^^^ help: try: `5_u16` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:553:20 [INFO] [stdout] | [INFO] [stdout] 553 | r[3 * i] = (t0 >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `t0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:561:28 [INFO] [stdout] | [INFO] [stdout] 561 | r.coeffs[2 * i] = ((a[3 * i] >> 0) as u16 | (((a[3 * i + 1] as u16) << 8) & 0x0FFF)) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider reducing it to: `a[3 * i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1117:24 [INFO] [stdout] | [INFO] [stdout] 1117 | r[3 * i] = ((t[0] >> 0) | (t[1] << 3) | (t[2] << 6)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((t[0] >> 0) | (t[1] << 3) | (t[2] << 6))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1117:25 [INFO] [stdout] | [INFO] [stdout] 1117 | r[3 * i] = ((t[0] >> 0) | (t[1] << 3) | (t[2] << 6)) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `t[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1118:30 [INFO] [stdout] | [INFO] [stdout] 1118 | r[(3 * i) + 1] = ((t[2] >> 2) | (t[3] << 1) | (t[4] << 4) | (t[5] << 7)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((t[2] >> 2) | (t[3] << 1) | (t[4] << 4) | (t[5] << 7))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `msg` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:568:14 [INFO] [stdout] | [INFO] [stdout] 568 | for i in 0..(QRC_KYBER_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 568 - for i in 0..(QRC_KYBER_N / 8) { [INFO] [stdout] 568 + for (i, ) in msg.iter().enumerate().take((QRC_KYBER_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `msg` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:577:14 [INFO] [stdout] | [INFO] [stdout] 577 | for i in 0..(QRC_KYBER_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 577 - for i in 0..(QRC_KYBER_N / 8) { [INFO] [stdout] 577 + for (i, ) in msg.iter_mut().enumerate().take((QRC_KYBER_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:593:32 [INFO] [stdout] | [INFO] [stdout] 593 | qrc_intutils_copy8(extkey, &seed, QRC_KYBER_SYMBYTES); [INFO] [stdout] | ^^^^^ help: change this to: `seed` [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: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1119:30 [INFO] [stdout] | [INFO] [stdout] 1119 | r[(3 * i) + 2] = ((t[5] >> 1) | (t[6] << 2) | (t[7] << 5)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((t[5] >> 1) | (t[6] << 2) | (t[7] << 5))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `r` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1122:18 [INFO] [stdout] | [INFO] [stdout] 1122 | for i in 0..QRC_DILITHIUM_N / 2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1122 - for i in 0..QRC_DILITHIUM_N / 2 { [INFO] [stdout] 1122 + for (i, ) in r.iter_mut().enumerate().take(QRC_DILITHIUM_N / 2) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1125:20 [INFO] [stdout] | [INFO] [stdout] 1125 | r[i] = (t[0] | (t[1] << 4)) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(t[0] | (t[1] << 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1133:31 [INFO] [stdout] | [INFO] [stdout] 1133 | r.coeffs[8 * i] = (a[3 * i] >> 0) as i32 & 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider reducing it to: `a[3 * i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:609:32 [INFO] [stdout] | [INFO] [stdout] 609 | qrc_intutils_copy8(extkey, &seed, QRC_KYBER_SYMBYTES); [INFO] [stdout] | ^^^^^ help: change this to: `seed` [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: the loop variable `i` is used to index `a` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1152:18 [INFO] [stdout] | [INFO] [stdout] 1152 | for i in 0..QRC_DILITHIUM_N / 2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1152 - for i in 0..QRC_DILITHIUM_N / 2 { [INFO] [stdout] 1152 + for (i, ) in a.iter().enumerate().take(QRC_DILITHIUM_N / 2) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1163:20 [INFO] [stdout] | [INFO] [stdout] 1163 | r[5 * i] = (a.coeffs[4 * i] >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `a.coeffs[4 * i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:657:23 [INFO] [stdout] | [INFO] [stdout] 657 | r.coeffs[i] = kyber_montgomery_reduce(r.coeffs[i].wrapping_mul(f)) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `kyber_montgomery_reduce(r.coeffs[i].wrapping_mul(f))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `k` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:681:26 [INFO] [stdout] | [INFO] [stdout] 681 | for k in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 681 - for k in 0..8 { [INFO] [stdout] 681 + for (k, ) in t.iter_mut().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1174:14 [INFO] [stdout] | [INFO] [stdout] 1174 | (((a[5 * i] as u32) >> 0) | (a[(5 * i) + 1] as u32) << 8) as i32 & 0x000003FF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((a[5 * i] as u32))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:689:24 [INFO] [stdout] | [INFO] [stdout] 689 | r[0] = (t[0] >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `t[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `k` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:708:26 [INFO] [stdout] | [INFO] [stdout] 708 | for k in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 708 - for k in 0..4 { [INFO] [stdout] 708 + for (k, ) in t.iter_mut().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:711:39 [INFO] [stdout] | [INFO] [stdout] 711 | .wrapping_add((((t[k] as i16 >> 15) as u16) & QRC_KYBER_Q as u16) as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((((t[k] as i16 >> 15) as u16) & QRC_KYBER_Q as u16))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:716:24 [INFO] [stdout] | [INFO] [stdout] 716 | r[0] = (t[0] >> 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `t[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `k` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:742:26 [INFO] [stdout] | [INFO] [stdout] 742 | for k in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 742 - for k in 0..8 { [INFO] [stdout] 742 + for (k, ) in t.iter().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:744:25 [INFO] [stdout] | [INFO] [stdout] 744 | (((t[k] & 0x7FF) as u32 * QRC_KYBER_Q as u32 + 1024) >> 11) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(((t[k] & 0x7FF) as u32 * QRC_KYBER_Q as u32 + 1024) >> 11)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `k` is used to index `t` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:758:26 [INFO] [stdout] | [INFO] [stdout] 758 | for k in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 758 - for k in 0..4 { [INFO] [stdout] 758 + for (k, ) in t.iter().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:760:25 [INFO] [stdout] | [INFO] [stdout] 760 | (((t[k] & 0x3FF) as u32 * QRC_KYBER_Q as u32 + 512) >> 10) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(((t[k] & 0x3FF) as u32 * QRC_KYBER_Q as u32 + 512) >> 10)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:824:59 [INFO] [stdout] | [INFO] [stdout] 824 | qrc_intutils_copy8(&mut r[QRC_KYBER_POLYVEC_BYTES..], &seed, QRC_KYBER_SYMBYTES); [INFO] [stdout] | ^^^^^ help: change this to: `seed` [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/asymmetric/cipher/kyberbody/kyberbase.rs:828:34 [INFO] [stdout] | [INFO] [stdout] 828 | kyber_polyvec_from_bytes(pk, &packedpk); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `packedpk` [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/asymmetric/cipher/kyberbody/kyberbase.rs:841:34 [INFO] [stdout] | [INFO] [stdout] 841 | kyber_polyvec_from_bytes(sk, &packedsk); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `packedsk` [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/asymmetric/cipher/kyberbody/kyberbase.rs:850:33 [INFO] [stdout] | [INFO] [stdout] 850 | kyber_polyvec_decompress(b, &c); [INFO] [stdout] | ^^ help: change this to: `c` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:882:5 [INFO] [stdout] | [INFO] [stdout] 882 | return ctr; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 882 - return ctr; [INFO] [stdout] 882 + ctr [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:863:20 [INFO] [stdout] | [INFO] [stdout] 863 | let val0 = (((buf[pos as usize] >> 0) as u16 [INFO] [stdout] | ____________________^ [INFO] [stdout] 864 | | | ((buf[pos as usize + 1] as u16) << 8) as u16) [INFO] [stdout] 865 | | & 0x0FFF) as u16; [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 863 ~ let val0 = (((buf[pos as usize] >> 0) as u16 [INFO] [stdout] 864 + | ((buf[pos as usize + 1] as u16) << 8) as u16) [INFO] [stdout] 865 ~ & 0x0FFF); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:863:22 [INFO] [stdout] | [INFO] [stdout] 863 | let val0 = (((buf[pos as usize] >> 0) as u16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `buf[pos as usize]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:864:15 [INFO] [stdout] | [INFO] [stdout] 864 | | ((buf[pos as usize + 1] as u16) << 8) as u16) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((buf[pos as usize + 1] as u16) << 8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:866:20 [INFO] [stdout] | [INFO] [stdout] 866 | let val1 = (((buf[pos as usize + 1] >> 4) as u16 [INFO] [stdout] | ____________________^ [INFO] [stdout] 867 | | | ((buf[pos as usize + 2] as u16) << 4) as u16) [INFO] [stdout] 868 | | & 0x0FFF) as u16; [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 866 ~ let val1 = (((buf[pos as usize + 1] >> 4) as u16 [INFO] [stdout] 867 + | ((buf[pos as usize + 2] as u16) << 4) as u16) [INFO] [stdout] 868 ~ & 0x0FFF); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:867:15 [INFO] [stdout] | [INFO] [stdout] 867 | | ((buf[pos as usize + 2] as u16) << 4) as u16) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((buf[pos as usize + 2] as u16) << 4)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `a` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:892:14 [INFO] [stdout] | [INFO] [stdout] 892 | for i in 0..QRC_KYBER_K { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 892 - for i in 0..QRC_KYBER_K { [INFO] [stdout] 892 + for (i, ) in a.iter_mut().enumerate().take(QRC_KYBER_K) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:950:16 [INFO] [stdout] | [INFO] [stdout] 950 | let buf2 = buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*buf` [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: the loop variable `i` is used to index `a` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:970:14 [INFO] [stdout] | [INFO] [stdout] 970 | for i in 0..QRC_KYBER_K { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 970 - for i in 0..QRC_KYBER_K { [INFO] [stdout] 970 + for (i, ) in a.iter().enumerate().take(QRC_KYBER_K) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:996:26 [INFO] [stdout] | [INFO] [stdout] 996 | kyber_gen_matrix(at, &seed.to_owned(), 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use: `seed.as_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `at` [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberbase.rs:1011:14 [INFO] [stdout] | [INFO] [stdout] 1011 | for i in 0..QRC_KYBER_K { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1011 - for i in 0..QRC_KYBER_K { [INFO] [stdout] 1011 + for (i, ) in at.iter().enumerate().take(QRC_KYBER_K) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `r` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1364:18 [INFO] [stdout] | [INFO] [stdout] 1364 | for i in 0..QRC_DILITHIUM_N / 2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1364 - for i in 0..QRC_DILITHIUM_N / 2 { [INFO] [stdout] 1364 + for (i, ) in r.iter_mut().enumerate().take(QRC_DILITHIUM_N / 2) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberface.rs:84:2 [INFO] [stdout] | [INFO] [stdout] 84 | return qrc_kyber_ref_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return qrc_kyber_ref_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] 84 + qrc_kyber_ref_decapsulate(secret, ciphertext, privatekey) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/kyberbody/kyberface.rs:98:2 [INFO] [stdout] | [INFO] [stdout] 98 | return qrc_kyber_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return qrc_kyber_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] 98 + qrc_kyber_decapsulate(secret, ciphertext, privatekey) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mat` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1421:14 [INFO] [stdout] | [INFO] [stdout] 1421 | for i in 0..QRC_DILITHIUM_K { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1421 - for i in 0..QRC_DILITHIUM_K { [INFO] [stdout] 1421 + for (i, ) in mat.iter_mut().enumerate().take(QRC_DILITHIUM_K) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:90:3 [INFO] [stdout] | [INFO] [stdout] 90 | return ret_decrypt as i32 + ret_confirm as i32 + padding_ok; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 90 - return ret_decrypt as i32 + ret_confirm as i32 + padding_ok; [INFO] [stdout] 90 + ret_decrypt as i32 + ret_confirm as i32 + padding_ok [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:92:3 [INFO] [stdout] | [INFO] [stdout] 92 | return ret_decrypt as i32 + ret_confirm as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 92 - return ret_decrypt as i32 + ret_confirm as i32; [INFO] [stdout] 92 + ret_decrypt as i32 + ret_confirm as i32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `QrcDilithiumPoly` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1439:18 [INFO] [stdout] | [INFO] [stdout] 1439 | let w1 = w.clone(); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*w` [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: using `clone` on type `QrcDilithiumPoly` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1440:35 [INFO] [stdout] | [INFO] [stdout] 1440 | dilithium_poly_add(w, w1, t.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*t` [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: the loop variable `i` is used to index `mat` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1449:14 [INFO] [stdout] | [INFO] [stdout] 1449 | for i in 0..QRC_DILITHIUM_K { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1449 - for i in 0..QRC_DILITHIUM_K { [INFO] [stdout] 1449 + for (i, ) in mat.iter().enumerate().take(QRC_DILITHIUM_K) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `key` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | for i in 0..32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 86 - for i in 0..32 { [INFO] [stdout] 86 + for in key.iter_mut().take(32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:135:3 [INFO] [stdout] | [INFO] [stdout] 135 | return padding_ok; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 135 - return padding_ok; [INFO] [stdout] 135 + padding_ok [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:137:3 [INFO] [stdout] | [INFO] [stdout] 137 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 137 - return 0; [INFO] [stdout] 137 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `c` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | for i in 0..(MCELIECE_SYND_BYTES + 32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 127 - for i in 0..(MCELIECE_SYND_BYTES + 32) { [INFO] [stdout] 127 + for in c.iter_mut().take((MCELIECE_SYND_BYTES + 32)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `key` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | for i in 0..32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 131 - for i in 0..32 { [INFO] [stdout] 131 + for in key.iter_mut().take(32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:222:2 [INFO] [stdout] | [INFO] [stdout] 222 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 222 - return 0; [INFO] [stdout] 222 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1519:5 [INFO] [stdout] | [INFO] [stdout] 1519 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1519 - return res; [INFO] [stdout] 1519 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1599:5 [INFO] [stdout] | [INFO] [stdout] 1599 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1599 - return res; [INFO] [stdout] 1599 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1633:5 [INFO] [stdout] | [INFO] [stdout] 1633 | return s; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1633 - return s; [INFO] [stdout] 1633 + s [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:232:63 [INFO] [stdout] | [INFO] [stdout] 232 | pub const MCELIECE_GFBITS: usize = if QRC_MCELIECE_S3N4608T96 { [INFO] [stdout] | _______________________________________________________________^ [INFO] [stdout] 233 | | 13 [INFO] [stdout] 234 | | } else if QRC_MCELIECE_S5N6688T128 { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:234:36 [INFO] [stdout] | [INFO] [stdout] 234 | } else if QRC_MCELIECE_S5N6688T128 { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 235 | | 13 [INFO] [stdout] 236 | | } else if QRC_MCELIECE_S5N6960T119 { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:234:36 [INFO] [stdout] | [INFO] [stdout] 234 | } else if QRC_MCELIECE_S5N6688T128 { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 235 | | 13 [INFO] [stdout] 236 | | } else if QRC_MCELIECE_S5N6960T119 { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:236:36 [INFO] [stdout] | [INFO] [stdout] 236 | } else if QRC_MCELIECE_S5N6960T119 { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 237 | | 13 [INFO] [stdout] 238 | | } else if QRC_MCELIECE_S5N8192T128 { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:236:36 [INFO] [stdout] | [INFO] [stdout] 236 | } else if QRC_MCELIECE_S5N6960T119 { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 237 | | 13 [INFO] [stdout] 238 | | } else if QRC_MCELIECE_S5N8192T128 { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:238:36 [INFO] [stdout] | [INFO] [stdout] 238 | } else if QRC_MCELIECE_S5N8192T128 { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 239 | | 13 [INFO] [stdout] 240 | | } else { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:269:42 [INFO] [stdout] | [INFO] [stdout] 269 | pub const MCELIECE_PK_ROW_BYTES: usize = (MCELIECE_PK_NCOLS + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `MCELIECE_PK_NCOLS.div_ceil(8)` [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: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:270:40 [INFO] [stdout] | [INFO] [stdout] 270 | pub const MCELIECE_SYND_BYTES: usize = (MCELIECE_PK_NROWS + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `MCELIECE_PK_NROWS.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:282:2 [INFO] [stdout] | [INFO] [stdout] 282 | return t as Gf; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 282 - return t as Gf; [INFO] [stdout] 282 + t as Gf [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:286:2 [INFO] [stdout] | [INFO] [stdout] 286 | return in0 ^ in1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 286 - return in0 ^ in1; [INFO] [stdout] 286 + in0 ^ in1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:303:2 [INFO] [stdout] | [INFO] [stdout] 303 | return tmp as Gf & MCELIECE_GFMASK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 303 - return tmp as Gf & MCELIECE_GFMASK; [INFO] [stdout] 303 + tmp as Gf & MCELIECE_GFMASK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:298:14 [INFO] [stdout] | [INFO] [stdout] 298 | let mut t = (tmp & 0x0000000001FF0000) as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(tmp & 0x0000000001FF0000)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1655:5 [INFO] [stdout] | [INFO] [stdout] 1655 | / for i in 0..DILITHIUM_SEEDBYTES { [INFO] [stdout] 1656 | | pk[i] = rho[i]; [INFO] [stdout] 1657 | | } [INFO] [stdout] | |_____^ help: try replacing the loop by: `pk[..DILITHIUM_SEEDBYTES].copy_from_slice(&rho[..DILITHIUM_SEEDBYTES]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1667:5 [INFO] [stdout] | [INFO] [stdout] 1667 | / for i in 0..DILITHIUM_SEEDBYTES { [INFO] [stdout] 1668 | | rho[i] = pk[i]; [INFO] [stdout] 1669 | | } [INFO] [stdout] | |_____^ help: try replacing the loop by: `rho[..DILITHIUM_SEEDBYTES].copy_from_slice(&pk[..DILITHIUM_SEEDBYTES]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:325:2 [INFO] [stdout] | [INFO] [stdout] 325 | return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 325 - return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] 325 + x as Gf & MCELIECE_GFMASK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `m` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:320:11 [INFO] [stdout] | [INFO] [stdout] 320 | for i in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 320 - for i in 0..4 { [INFO] [stdout] 320 + for in &m { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:351:2 [INFO] [stdout] | [INFO] [stdout] 351 | return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 351 - return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] 351 + x as Gf & MCELIECE_GFMASK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `bm` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:346:11 [INFO] [stdout] | [INFO] [stdout] 346 | for i in 0..3 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 346 - for i in 0..3 { [INFO] [stdout] 346 + for in &bm { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:376:2 [INFO] [stdout] | [INFO] [stdout] 376 | return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 376 - return x as Gf & MCELIECE_GFMASK; [INFO] [stdout] 376 + x as Gf & MCELIECE_GFMASK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `bm` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:371:11 [INFO] [stdout] | [INFO] [stdout] 371 | for i in 0..6 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 371 - for i in 0..6 { [INFO] [stdout] 371 + for in &bm { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:390:2 [INFO] [stdout] | [INFO] [stdout] 390 | return gf_sqmul(out, num); /* ^ 1111111111110 = ^ -1 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 390 - return gf_sqmul(out, num); /* ^ 1111111111110 = ^ -1 */ [INFO] [stdout] 390 + gf_sqmul(out, num) /* ^ 1111111111110 = ^ -1 */ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1750:5 [INFO] [stdout] | [INFO] [stdout] 1750 | / for i in 0..DILITHIUM_SEEDBYTES { [INFO] [stdout] 1751 | | sig[i] = c[i]; [INFO] [stdout] 1752 | | } [INFO] [stdout] | |_____^ help: try replacing the loop by: `sig[..DILITHIUM_SEEDBYTES].copy_from_slice(&c[..DILITHIUM_SEEDBYTES]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1835:5 [INFO] [stdout] | [INFO] [stdout] 1835 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1835 - return res; [INFO] [stdout] 1835 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:394:2 [INFO] [stdout] | [INFO] [stdout] 394 | return gf_frac(den, 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 394 - return gf_frac(den, 1); [INFO] [stdout] 394 + gf_frac(den, 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:432:12 [INFO] [stdout] | [INFO] [stdout] 432 | dest[0] = a as u8 & 0x00FF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider reducing it to: `(a as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:441:2 [INFO] [stdout] | [INFO] [stdout] 441 | return a & MCELIECE_GFMASK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 441 - return a & MCELIECE_GFMASK; [INFO] [stdout] 441 + a & MCELIECE_GFMASK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `sig` [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:1827:18 [INFO] [stdout] | [INFO] [stdout] 1827 | for j in k..DILITHIUM_OMEGA { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1827 - for j in k..DILITHIUM_OMEGA { [INFO] [stdout] 1827 + for in sig.iter().take(DILITHIUM_OMEGA).skip(k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:452:2 [INFO] [stdout] | [INFO] [stdout] 452 | return ret; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 452 - return ret; [INFO] [stdout] 452 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:457:11 [INFO] [stdout] | [INFO] [stdout] 457 | out[1] = (int >> 0x08) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x08) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:458:11 [INFO] [stdout] | [INFO] [stdout] 458 | out[2] = (int >> 0x10) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x10) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:459:11 [INFO] [stdout] | [INFO] [stdout] 459 | out[3] = (int >> 0x18) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x18) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:460:11 [INFO] [stdout] | [INFO] [stdout] 460 | out[4] = (int >> 0x20) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x20) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:461:11 [INFO] [stdout] | [INFO] [stdout] 461 | out[5] = (int >> 0x28) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x28) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:462:11 [INFO] [stdout] | [INFO] [stdout] 462 | out[6] = (int >> 0x30) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x30) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:463:11 [INFO] [stdout] | [INFO] [stdout] 463 | out[7] = (int >> 0x38) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((int >> 0x38) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:474:2 [INFO] [stdout] | [INFO] [stdout] 474 | return ret; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 474 - return ret; [INFO] [stdout] 474 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumface.rs:126:2 [INFO] [stdout] | [INFO] [stdout] 126 | return qrc_dilithium_ref_open(message, msglen, signedmsg, smsglen, publickey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return qrc_dilithium_ref_open(message, msglen, signedmsg, smsglen, publickey); [INFO] [stdout] 126 + qrc_dilithium_ref_open(message, msglen, signedmsg, smsglen, publickey) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:80:2 [INFO] [stdout] | [INFO] [stdout] 80 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 80 - return res; [INFO] [stdout] 80 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:483:2 [INFO] [stdout] | [INFO] [stdout] 483 | return a >> 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 483 - return a >> 3; [INFO] [stdout] 483 + a >> 3 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:72:72 [INFO] [stdout] | [INFO] [stdout] 72 | if ecdsa_ed25519_sign(signedmsg, slen, m, msglen, privatekey) != 0 || slen.clone() != QRC_EC25519_SIGNATURE_SIZE { [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*slen` [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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:77:23 [INFO] [stdout] | [INFO] [stdout] 77 | *smsglen = msglen + slen.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*slen` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:106:2 [INFO] [stdout] | [INFO] [stdout] 106 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 106 - return res; [INFO] [stdout] 106 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:155:2 [INFO] [stdout] | [INFO] [stdout] 155 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 155 - return 0; [INFO] [stdout] 155 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:188:53 [INFO] [stdout] | [INFO] [stdout] 188 | if !((qrc_sc25519_verify(rcheck, sig, 32) == 0) | ((!(rcheck == sig)))) || !(qrc_intutils_are_equal8(sig, rcheck, 32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `(rcheck != sig)` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:193:2 [INFO] [stdout] | [INFO] [stdout] 193 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 193 - return res; [INFO] [stdout] 193 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:167:67 [INFO] [stdout] | [INFO] [stdout] 167 | if (sig[63] & 240) == 0 && sc25519_is_canonical(&sig[32..]) == 0 { [INFO] [stdout] | ______________________________________________________________________^ [INFO] [stdout] 168 | | res = false; [INFO] [stdout] 169 | | } else if ge25519_has_small_order(sig) != 0 { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:169:46 [INFO] [stdout] | [INFO] [stdout] 169 | } else if ge25519_has_small_order(sig) != 0 { [INFO] [stdout] | _________________________________________________^ [INFO] [stdout] 170 | | res = false; [INFO] [stdout] 171 | | } else if ge25519_is_canonical(pk) == 0 || ge25519_has_small_order(pk) != 0 { [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:169:46 [INFO] [stdout] | [INFO] [stdout] 169 | } else if ge25519_has_small_order(sig) != 0 { [INFO] [stdout] | _________________________________________________^ [INFO] [stdout] 170 | | res = false; [INFO] [stdout] 171 | | } else if ge25519_is_canonical(pk) == 0 || ge25519_has_small_order(pk) != 0 { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:171:78 [INFO] [stdout] | [INFO] [stdout] 171 | } else if ge25519_is_canonical(pk) == 0 || ge25519_has_small_order(pk) != 0 { [INFO] [stdout] | _________________________________________________________________________________^ [INFO] [stdout] 172 | | res = false; [INFO] [stdout] 173 | | } else if ge25519_frombytes_negate_vartime(a, pk) != 0 { [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:171:78 [INFO] [stdout] | [INFO] [stdout] 171 | } else if ge25519_is_canonical(pk) == 0 || ge25519_has_small_order(pk) != 0 { [INFO] [stdout] | _________________________________________________________________________________^ [INFO] [stdout] 172 | | res = false; [INFO] [stdout] 173 | | } else if ge25519_frombytes_negate_vartime(a, pk) != 0 { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsabase.rs:173:57 [INFO] [stdout] | [INFO] [stdout] 173 | } else if ge25519_frombytes_negate_vartime(a, pk) != 0 { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 174 | | res = false; [INFO] [stdout] 175 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:641:2 [INFO] [stdout] | [INFO] [stdout] 641 | return r; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 641 - return r; [INFO] [stdout] 641 + r [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `out` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:666:12 [INFO] [stdout] | [INFO] [stdout] 666 | for j in 0..(2 * MCELIECE_SYS_T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 666 - for j in 0..(2 * MCELIECE_SYS_T) { [INFO] [stdout] 666 + for in out.iter_mut().take((2 * MCELIECE_SYS_T)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/ecdsabody/ecdsaface.rs:127:2 [INFO] [stdout] | [INFO] [stdout] 127 | return qrc_ed25519_verify(message, msglen, signedmsg, smsglen, publickey) == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - return qrc_ed25519_verify(message, msglen, signedmsg, smsglen, publickey) == 0; [INFO] [stdout] 127 + qrc_ed25519_verify(message, msglen, signedmsg, smsglen, publickey) == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 68 - return 0; [INFO] [stdout] 68 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u32; 8]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:134:63 [INFO] [stdout] | [INFO] [stdout] 134 | sphincsplus_fors_sign(sig, root, mhash, sk_seed, pubseed, wots_addr.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*wots_addr` [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: manual implementation of an assign operation [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | tree = tree >> SPX_TREE_HEIGHT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tree >>= SPX_TREE_HEIGHT` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:238:5 [INFO] [stdout] | [INFO] [stdout] 238 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 238 - return res; [INFO] [stdout] 238 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i32` is unnecessary [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:771:16 [INFO] [stdout] | [INFO] [stdout] 771 | let mut inc = 0 as i32; [INFO] [stdout] | ^^^^^^^^ help: try: `0_i32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u32; 8]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:202:65 [INFO] [stdout] | [INFO] [stdout] 202 | sphincsplus_fors_pk_from_sig(root, sig, mhash, pubseed, wots_addr.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*wots_addr` [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: using `clone` on type `[u32; 8]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:214:57 [INFO] [stdout] | [INFO] [stdout] 214 | sphincsplus_copy_keypair_addr(wots_pk_addr, wots_addr.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*wots_addr` [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: manual implementation of an assign operation [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:231:13 [INFO] [stdout] | [INFO] [stdout] 231 | tree = tree >> SPX_TREE_HEIGHT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tree >>= SPX_TREE_HEIGHT` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:295:5 [INFO] [stdout] | [INFO] [stdout] 295 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 295 - return res; [INFO] [stdout] 295 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:280:76 [INFO] [stdout] | [INFO] [stdout] 280 | res = sphincsplus_ref_sign_verify(sm, SPX_BYTES, &sm[SPX_BYTES..], mlen.clone(), pk); [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*mlen` [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: the loop variable `i` is only used to index `b_int_v` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:787:12 [INFO] [stdout] | [INFO] [stdout] 787 | for i in 0..64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 787 - for i in 0..64 { [INFO] [stdout] 787 + for in b_int_v.iter_mut().take(64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `b_int_v` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:802:12 [INFO] [stdout] | [INFO] [stdout] 802 | for i in 0..64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 802 - for i in 0..64 { [INFO] [stdout] 802 + for in b_int_v.iter_mut().take(64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `b_int_v` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:812:12 [INFO] [stdout] | [INFO] [stdout] 812 | for i in 0..64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 812 - for i in 0..64 { [INFO] [stdout] 812 + for in b_int_v.iter_mut().take(64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:284:53 [INFO] [stdout] | [INFO] [stdout] 284 | qrc_intutils_copy8(m, &sm[SPX_BYTES..], mlen.clone()); [INFO] [stdout] | ^^^^^^^^^^^^ help: try dereferencing it: `*mlen` [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 `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:302:55 [INFO] [stdout] | [INFO] [stdout] 302 | const SPX_N: usize = if QRC_SPHINCSPLUS_S3S192SHAKERF { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 303 | | 24 [INFO] [stdout] 304 | | } else if QRC_SPHINCSPLUS_S3S192SHAKERS { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:304:41 [INFO] [stdout] | [INFO] [stdout] 304 | } else if QRC_SPHINCSPLUS_S3S192SHAKERS { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 305 | | 24 [INFO] [stdout] 306 | | } else if QRC_SPHINCSPLUS_S5S256SHAKERF { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:306:41 [INFO] [stdout] | [INFO] [stdout] 306 | } else if QRC_SPHINCSPLUS_S5S256SHAKERF { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 307 | | 32 [INFO] [stdout] 308 | | } else if QRC_SPHINCSPLUS_S5S256SHAKERS { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:308:41 [INFO] [stdout] | [INFO] [stdout] 308 | } else if QRC_SPHINCSPLUS_S5S256SHAKERS { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 309 | | 32 [INFO] [stdout] 310 | | } else { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `b_int_v` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:825:12 [INFO] [stdout] | [INFO] [stdout] 825 | for i in 0..64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 825 - for i in 0..64 { [INFO] [stdout] 825 + for in b_int_v.iter_mut().take(64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:841:21 [INFO] [stdout] | [INFO] [stdout] 841 | store8(&mut r_ptr[i * 16 + 0..], r_int_v[0][i]); [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `i * 16` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `l` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:853:12 [INFO] [stdout] | [INFO] [stdout] 853 | for j in 0..MCELIECE_GFBITS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 853 - for j in 0..MCELIECE_GFBITS { [INFO] [stdout] 853 + for (j, ) in l.iter_mut().enumerate().take(MCELIECE_GFBITS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `l` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:858:11 [INFO] [stdout] | [INFO] [stdout] 858 | for j in 0..MCELIECE_GFBITS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 858 - for j in 0..MCELIECE_GFBITS { [INFO] [stdout] 858 + for in l.iter_mut().take(MCELIECE_GFBITS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:365:60 [INFO] [stdout] | [INFO] [stdout] 365 | const SPX_WOTS_W: usize = if QRC_SPHINCSPLUS_S3S192SHAKERF { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 366 | | 16 [INFO] [stdout] 367 | | } else if QRC_SPHINCSPLUS_S3S192SHAKERS { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:367:41 [INFO] [stdout] | [INFO] [stdout] 367 | } else if QRC_SPHINCSPLUS_S3S192SHAKERS { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 368 | | 16 [INFO] [stdout] 369 | | } else if QRC_SPHINCSPLUS_S5S256SHAKERF { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:367:41 [INFO] [stdout] | [INFO] [stdout] 367 | } else if QRC_SPHINCSPLUS_S3S192SHAKERS { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 368 | | 16 [INFO] [stdout] 369 | | } else if QRC_SPHINCSPLUS_S5S256SHAKERF { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:369:41 [INFO] [stdout] | [INFO] [stdout] 369 | } else if QRC_SPHINCSPLUS_S5S256SHAKERF { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 370 | | 16 [INFO] [stdout] 371 | | } else if QRC_SPHINCSPLUS_S5S256SHAKERS { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:369:41 [INFO] [stdout] | [INFO] [stdout] 369 | } else if QRC_SPHINCSPLUS_S5S256SHAKERF { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 370 | | 16 [INFO] [stdout] 371 | | } else if QRC_SPHINCSPLUS_S5S256SHAKERS { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:371:41 [INFO] [stdout] | [INFO] [stdout] 371 | } else if QRC_SPHINCSPLUS_S5S256SHAKERS { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 372 | | 16 [INFO] [stdout] 373 | | } else { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:422:35 [INFO] [stdout] | [INFO] [stdout] 422 | const SPX_FORS_MSG_BYTES: usize = (SPX_FORS_HEIGHT * SPX_FORS_TREES + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `(SPX_FORS_HEIGHT * SPX_FORS_TREES).div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:458:31 [INFO] [stdout] | [INFO] [stdout] 458 | const SPX_TREE_BYTES: usize = (SPX_TREE_BITS + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `SPX_TREE_BITS.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:460:31 [INFO] [stdout] | [INFO] [stdout] 460 | const SPX_LEAF_BYTES: usize = (SPX_LEAF_BITS + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `SPX_LEAF_BITS.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:472:29 [INFO] [stdout] | [INFO] [stdout] 472 | out[pos as usize] = int as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider reducing it to: `(int as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:495:5 [INFO] [stdout] | [INFO] [stdout] 495 | return ret; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 495 - return ret; [INFO] [stdout] 495 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:952:137 [INFO] [stdout] | [INFO] [stdout] 952 | ...s_transform_itou_32(&temp[((n + n / 4) as usize)..].to_owned())))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `&temp[((n + n / 4) as usize)..]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:648:27 [INFO] [stdout] | [INFO] [stdout] 648 | let mut bufp: &[u8] = &buf.to_owned(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use: `buf.as_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:650:32 [INFO] [stdout] | [INFO] [stdout] 650 | qrc_intutils_copy8(digest, &bufp, SPX_FORS_MSG_BYTES); [INFO] [stdout] | ^^^^^ help: change this to: `bufp` [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: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:654:14 [INFO] [stdout] | [INFO] [stdout] 654 | *tree &= (!0 as u64) >> (64 - SPX_TREE_BITS); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `!0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:659:18 [INFO] [stdout] | [INFO] [stdout] 659 | *leaf_idx &= (!0 as u32) >> (32 - SPX_LEAF_BITS); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `!0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:674:43 [INFO] [stdout] | [INFO] [stdout] 674 | qrc_shake256_compute(bitmask, blklen, &buf, keylen); [INFO] [stdout] | ^^^^ help: change this to: `buf` [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/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:680:38 [INFO] [stdout] | [INFO] [stdout] 680 | qrc_shake256_compute(out, SPX_N, &buf, keylen + blklen); [INFO] [stdout] | ^^^^ help: change this to: `buf` [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 function has too many arguments (8/7) [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:688:1 [INFO] [stdout] | [INFO] [stdout] 688 | fn sphincsplus_compute_root(root: &mut [u8], leaf: &[u8], mut leaf_idx: u32, mut idx_offset: u32, mut auth_path: &[u8], tree_height: u32, pubseed: &[u8], addr: &mut [u32; 8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:711:43 [INFO] [stdout] | [INFO] [stdout] 711 | sphincsplus_set_tree_height(addr, i as u32 + 1); [INFO] [stdout] | ^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:736:15 [INFO] [stdout] | [INFO] [stdout] 736 | ...eaf: fn(&mut [u8] /* leaf */, &[u8] /* sk_seed */, &[u8] /* pubseed */, u32 /* addr_idx */, &mut [u32; 8] /* tree_addr */), tree... [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: this function has too many arguments (9/7) [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:735:1 [INFO] [stdout] | [INFO] [stdout] 735 | / fn sphincsplus_treehash(root: &mut [u8], auth_path: &mut [u8], sk_seed: &[u8], pubseed: &[u8], leaf_idx: u32, idx_offset: u32, tree_height: u32, [INFO] [stdout] 736 | | gen_leaf: fn(&mut [u8] /* leaf */, &[u8] /* sk_seed */, &[u8] /* pubseed */, u32 /* addr_idx */, &mut [u32; 8] /* tree_addr */), tree_addr: &mut [u32; 8]) { [INFO] [stdout] | |______________________________________________________________________________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:746:61 [INFO] [stdout] | [INFO] [stdout] 746 | let stack = &mut vec![0u8; (tree_height as usize + 1) * SPX_N as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `SPX_N` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1093:43 [INFO] [stdout] | [INFO] [stdout] 1093 | b[x as usize] = (a[x as usize] << 16) | fx as i32; [INFO] [stdout] | ^^^^^^^^^ help: try: `fx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:786:30 [INFO] [stdout] | [INFO] [stdout] 786 | qrc_intutils_copy8(root, &stack, SPX_N); [INFO] [stdout] | ^^^^^^ help: change this to: `stack` [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: using `clone` on type `[u32; 8]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:805:51 [INFO] [stdout] | [INFO] [stdout] 805 | sphincsplus_copy_keypair_addr(fors_leaf_addr, fors_tree_addr.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*fors_tree_addr` [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: the loop variable `i` is only used to index `indices` [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:821:14 [INFO] [stdout] | [INFO] [stdout] 821 | for i in 0..SPX_FORS_TREES { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 821 - for i in 0..SPX_FORS_TREES { [INFO] [stdout] 821 + for in indices.iter_mut().take(SPX_FORS_TREES) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1143:31 [INFO] [stdout] | [INFO] [stdout] 1143 | let mut d = p[i as usize + j as usize] ^ p[i as usize + j + stride]; [INFO] [stdout] | ^^^^^^^^^^ help: try: `j` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:933:41 [INFO] [stdout] | [INFO] [stdout] 933 | sphincsplus_set_hash_addr(addr, i as u32); [INFO] [stdout] | ^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:935:40 [INFO] [stdout] | [INFO] [stdout] 935 | sphincsplus_thash(out, outint, 1 as u32, pubseed, addr); [INFO] [stdout] | ^^^^^^^^ help: try: `1_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `octr` is used as a loop counter [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:950:5 [INFO] [stdout] | [INFO] [stdout] 950 | for _ in 0..out_len { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using: `for (octr, _) in (0..out_len).enumerate()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stdout] = note: `#[warn(clippy::explicit_counter_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:966:33 [INFO] [stdout] | [INFO] [stdout] 966 | let csum_bytes = &mut [0u8; (SPX_WOTS_LEN2 * SPX_WOTS_LOGW + 7) / 8]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `(SPX_WOTS_LEN2 * SPX_WOTS_LOGW).div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `msg_base_w` [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:971:14 [INFO] [stdout] | [INFO] [stdout] 971 | for i in 0..SPX_WOTS_LEN1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 971 - for i in 0..SPX_WOTS_LEN1 { [INFO] [stdout] 971 + for in msg_base_w.iter().take(SPX_WOTS_LEN1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1256:2 [INFO] [stdout] | [INFO] [stdout] 1256 | return check as i32 ^ 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1256 - return check as i32 ^ 1; [INFO] [stdout] 1256 + check as i32 ^ 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `g` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1220:11 [INFO] [stdout] | [INFO] [stdout] 1220 | for i in 0..MCELIECE_SYS_T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1220 - for i in 0..MCELIECE_SYS_T { [INFO] [stdout] 1220 + for in g.iter_mut().take(MCELIECE_SYS_T) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:977:5 [INFO] [stdout] | [INFO] [stdout] 977 | csum = csum << ((8 - ((SPX_WOTS_LEN2 * SPX_WOTS_LOGW) % 8)) % 8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `csum <<= ((8 - ((SPX_WOTS_LEN2 * SPX_WOTS_LOGW) % 8)) % 8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1267:2 [INFO] [stdout] | [INFO] [stdout] 1267 | return mask as u8 & 0x000000FF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1267 - return mask as u8 & 0x000000FF; [INFO] [stdout] 1267 + mask as u8 & 0x000000FF [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:978:42 [INFO] [stdout] | [INFO] [stdout] 978 | sphincsplus_ull_to_bytes(csum_bytes, ((SPX_WOTS_LEN2 * SPX_WOTS_LOGW + 7) / 8) as u32, csum as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `(SPX_WOTS_LEN2 * SPX_WOTS_LOGW).div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1267:9 [INFO] [stdout] | [INFO] [stdout] 1267 | return mask as u8 & 0x000000FF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(mask as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `load_gf` doesn't need a mutable reference [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1282:22 [INFO] [stdout] | [INFO] [stdout] 1282 | ind[i] = load_gf(&mut brnd[(i * 2)..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1282 - ind[i] = load_gf(&mut brnd[(i * 2)..]); [INFO] [stdout] 1282 + ind[i] = load_gf(&brnd[(i * 2)..]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `load_gf` doesn't need a mutable reference [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1310:23 [INFO] [stdout] | [INFO] [stdout] 1310 | nrnd[i] = load_gf(&mut brnd[(i * 2)..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1310 - nrnd[i] = load_gf(&mut brnd[(i * 2)..]); [INFO] [stdout] 1310 + nrnd[i] = load_gf(&brnd[(i * 2)..]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `nrnd` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1317:13 [INFO] [stdout] | [INFO] [stdout] 1317 | for i in 0..MCELIECE_SYS_T * 2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1317 - for i in 0..MCELIECE_SYS_T * 2 { [INFO] [stdout] 1317 + for in nrnd.iter().take(MCELIECE_SYS_T * 2) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u32; 8]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusbase.rs:1051:49 [INFO] [stdout] | [INFO] [stdout] 1051 | sphincsplus_copy_keypair_addr(wots_pk_addr, wots_addr.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*wots_addr` [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 `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusface.rs:56:85 [INFO] [stdout] | [INFO] [stdout] 56 | pub const QRC_SPHINCSPLUS_PRIVATEKEY_SIZE: usize = if QRC_SPHINCSPLUS_S3S192SHAKERS { [INFO] [stdout] | _____________________________________________________________________________________^ [INFO] [stdout] 57 | | 96 [INFO] [stdout] 58 | | } else if QRC_SPHINCSPLUS_S3S192SHAKERF { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusface.rs:58:41 [INFO] [stdout] | [INFO] [stdout] 58 | } else if QRC_SPHINCSPLUS_S3S192SHAKERF { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 59 | | 96 [INFO] [stdout] 60 | | } else if QRC_SPHINCSPLUS_S5S256SHAKERS { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusface.rs:60:41 [INFO] [stdout] | [INFO] [stdout] 60 | } else if QRC_SPHINCSPLUS_S5S256SHAKERS { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 61 | | 128 [INFO] [stdout] 62 | | } else if QRC_SPHINCSPLUS_S5S256SHAKERF { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusface.rs:62:41 [INFO] [stdout] | [INFO] [stdout] 62 | } else if QRC_SPHINCSPLUS_S5S256SHAKERF { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 63 | | 128 [INFO] [stdout] 64 | | } else { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusface.rs:72:84 [INFO] [stdout] | [INFO] [stdout] 72 | pub const QRC_SPHINCSPLUS_PUBLICKEY_SIZE: usize = if QRC_SPHINCSPLUS_S3S192SHAKERS { [INFO] [stdout] | ____________________________________________________________________________________^ [INFO] [stdout] 73 | | 48 [INFO] [stdout] 74 | | } else if QRC_SPHINCSPLUS_S3S192SHAKERF { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusface.rs:74:41 [INFO] [stdout] | [INFO] [stdout] 74 | } else if QRC_SPHINCSPLUS_S3S192SHAKERF { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 75 | | 48 [INFO] [stdout] 76 | | } else if QRC_SPHINCSPLUS_S5S256SHAKERS { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusface.rs:76:41 [INFO] [stdout] | [INFO] [stdout] 76 | } else if QRC_SPHINCSPLUS_S5S256SHAKERS { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 77 | | 64 [INFO] [stdout] 78 | | } else if QRC_SPHINCSPLUS_S5S256SHAKERF { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusface.rs:78:41 [INFO] [stdout] | [INFO] [stdout] 78 | } else if QRC_SPHINCSPLUS_S5S256SHAKERF { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 79 | | 64 [INFO] [stdout] 80 | | } else { [INFO] [stdout] | |_^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `e` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1355:11 [INFO] [stdout] | [INFO] [stdout] 1355 | for i in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1355 - for i in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] 1355 + for (i, ) in e.iter_mut().enumerate().take((MCELIECE_SYS_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/sphincsplusbody/sphincsplusface.rs:138:2 [INFO] [stdout] | [INFO] [stdout] 138 | return sphincsplus_ref_sign_open(message, msglen, signedmsg, smsglen, publickey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 138 - return sphincsplus_ref_sign_open(message, msglen, signedmsg, smsglen, publickey); [INFO] [stdout] 138 + sphincsplus_ref_sign_open(message, msglen, signedmsg, smsglen, publickey) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/lib.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub mod asymmetric; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/asymmetric/asymmetric.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | / impl Default for AsymmetricRandState { [INFO] [stdout] 39 | | fn default() -> Self { [INFO] [stdout] 40 | | Self { [INFO] [stdout] 41 | | secrand_state: QrcSecrandState::default(), [INFO] [stdout] ... | [INFO] [stdout] 45 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 34 + #[derive(Default)] [INFO] [stdout] 35 | pub struct AsymmetricRandState { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/asymmetric.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | return qrc_secrand_generate(&mut asymmetric_state.secrand_state, output, length); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return qrc_secrand_generate(&mut asymmetric_state.secrand_state, output, length); [INFO] [stdout] 52 + qrc_secrand_generate(&mut asymmetric_state.secrand_state, output, length) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/asymmetric.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | return qrc_nistrng_prng_generate(&mut asymmetric_state.nist_test_state, output, length); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 60 - return qrc_nistrng_prng_generate(&mut asymmetric_state.nist_test_state, output, length); [INFO] [stdout] 60 + qrc_nistrng_prng_generate(&mut asymmetric_state.nist_test_state, output, length) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/asymmetric.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | return qrc_rcrng_generate(output, length); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 68 - return qrc_rcrng_generate(output, length); [INFO] [stdout] 68 + qrc_rcrng_generate(output, length) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/cipher/aes.rs:117:37 [INFO] [stdout] | [INFO] [stdout] 117 | pub const QRC_HBA_KMAC_AUTH: bool = if QRC_HBA_KMAC_EXTENSION { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 118 | | true [INFO] [stdout] 119 | | } else { [INFO] [stdout] 120 | | false [INFO] [stdout] 121 | | }; [INFO] [stdout] | |_^ help: you can reduce it to: `QRC_HBA_KMAC_EXTENSION` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1424:2 [INFO] [stdout] | [INFO] [stdout] 1424 | return ret - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1424 - return ret - 1; [INFO] [stdout] 1424 + ret - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1441:2 [INFO] [stdout] | [INFO] [stdout] 1441 | return ret as i32 - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1441 - return ret as i32 - 1; [INFO] [stdout] 1441 + ret as i32 - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1601:2 [INFO] [stdout] | [INFO] [stdout] 1601 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1601 - return res; [INFO] [stdout] 1601 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/cipher/aes.rs:137:1 [INFO] [stdout] | [INFO] [stdout] 137 | / impl Default for QrcAesKeyparams { [INFO] [stdout] 138 | | fn default() -> Self { [INFO] [stdout] 139 | | Self { [INFO] [stdout] 140 | | key: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 147 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 130 + #[derive(Default)] [INFO] [stdout] 131 | pub struct QrcAesKeyparams { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `g` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1459:11 [INFO] [stdout] | [INFO] [stdout] 1459 | for i in 0..MCELIECE_SYS_T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1459 - for i in 0..MCELIECE_SYS_T { [INFO] [stdout] 1459 + for in g.iter_mut().take(MCELIECE_SYS_T) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `inv` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1491:12 [INFO] [stdout] | [INFO] [stdout] 1491 | for i in 0..MCELIECE_SYS_N { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1491 - for i in 0..MCELIECE_SYS_N { [INFO] [stdout] 1491 + for in inv.iter_mut().take(MCELIECE_SYS_N) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `output` [INFO] [stdout] --> src/cipher/aes.rs:284:11 [INFO] [stdout] | [INFO] [stdout] 284 | for i in 0..QRC_AES_BLOCK_SIZE { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 284 - for i in 0..QRC_AES_BLOCK_SIZE { [INFO] [stdout] 284 + for (i, ) in output.iter_mut().enumerate().take(QRC_AES_BLOCK_SIZE) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `input` [INFO] [stdout] --> src/cipher/aes.rs:301:11 [INFO] [stdout] | [INFO] [stdout] 301 | for i in 0..QRC_AES_BLOCK_SIZE { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 301 - for i in 0..QRC_AES_BLOCK_SIZE { [INFO] [stdout] 301 + for (i, ) in input.iter().enumerate().take(QRC_AES_BLOCK_SIZE) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1495:12 [INFO] [stdout] | [INFO] [stdout] 1495 | for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1495 - for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] 1495 + for in mat.iter_mut().take(MCELIECE_PK_NROWS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1496:13 [INFO] [stdout] | [INFO] [stdout] 1496 | for j in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1496 - for j in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] 1496 + for in mat.iter_mut().take((MCELIECE_SYS_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cipher/aes.rs:353:2 [INFO] [stdout] | [INFO] [stdout] 353 | return count; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 353 - return count; [INFO] [stdout] 353 + count [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1518:16 [INFO] [stdout] | [INFO] [stdout] 1518 | b |= (inv[j + 0] >> k & 1) as u8; [INFO] [stdout] | ^^^^^ help: consider reducing it to: `j` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1532:15 [INFO] [stdout] | [INFO] [stdout] 1532 | for i in 0..((MCELIECE_PK_NROWS + 7) / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `MCELIECE_PK_NROWS.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `col` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1545:17 [INFO] [stdout] | [INFO] [stdout] 1545 | for col in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1545 - for col in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] 1545 + for in mat.iter_mut().take((MCELIECE_SYS_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1552:15 [INFO] [stdout] | [INFO] [stdout] 1552 | for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1552 - for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] 1552 + for in mat.iter_mut().take(MCELIECE_PK_NROWS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `col` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1565:18 [INFO] [stdout] | [INFO] [stdout] 1565 | for col in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1565 - for col in 0..(MCELIECE_SYS_N / 8) { [INFO] [stdout] 1565 + for in mat.iter_mut().take((MCELIECE_SYS_N / 8)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1577:13 [INFO] [stdout] | [INFO] [stdout] 1577 | for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1577 - for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] 1577 + for in mat.iter().take(MCELIECE_PK_NROWS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1597:11 [INFO] [stdout] | [INFO] [stdout] 1597 | for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1597 - for i in 0..MCELIECE_PK_NROWS { [INFO] [stdout] 1597 + for in mat.iter_mut().take(MCELIECE_PK_NROWS) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1665:2 [INFO] [stdout] | [INFO] [stdout] 1665 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1665 - return res; [INFO] [stdout] 1665 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cipher/aes.rs:651:2 [INFO] [stdout] | [INFO] [stdout] 651 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 651 - return res; [INFO] [stdout] 651 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1618:2 [INFO] [stdout] | [INFO] [stdout] 1618 | / for i in 0..MCELIECE_SYS_T { [INFO] [stdout] 1619 | | mat[1][i] = f[i]; [INFO] [stdout] 1620 | | } [INFO] [stdout] | |_____^ help: try replacing the loop by: `mat[1][..MCELIECE_SYS_T].copy_from_slice(&f[..MCELIECE_SYS_T]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1633:13 [INFO] [stdout] | [INFO] [stdout] 1633 | for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1633 - for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] 1633 + for in mat.iter_mut().take((MCELIECE_SYS_T + 1)).skip(j) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1641:13 [INFO] [stdout] | [INFO] [stdout] 1641 | for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1641 - for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] 1641 + for in mat.iter_mut().take((MCELIECE_SYS_T + 1)).skip(j) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cipher/aes.rs:750:5 [INFO] [stdout] | [INFO] [stdout] 750 | return (res & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 750 - return (res & 0xFF) as u8; [INFO] [stdout] 750 + (res & 0xFF) as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cipher/aes.rs:744:9 [INFO] [stdout] | [INFO] [stdout] 744 | a = a << 1; [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `a <<= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cipher/aes.rs:754:2 [INFO] [stdout] | [INFO] [stdout] 754 | return x.rotate_left(r); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 754 - return x.rotate_left(r); [INFO] [stdout] 754 + x.rotate_left(r) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cipher/aes.rs:773:5 [INFO] [stdout] | [INFO] [stdout] 773 | return t; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 773 - return t; [INFO] [stdout] 773 + t [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cipher/aes.rs:777:5 [INFO] [stdout] | [INFO] [stdout] 777 | return x ^ rotl8(x, 1) ^ rotl8(x, 2) ^ rotl8(x, 3) ^ rotl8(x, 4) ^ 0x63; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 777 - return x ^ rotl8(x, 1) ^ rotl8(x, 2) ^ rotl8(x, 3) ^ rotl8(x, 4) ^ 0x63; [INFO] [stdout] 777 + x ^ rotl8(x, 1) ^ rotl8(x, 2) ^ rotl8(x, 3) ^ rotl8(x, 4) ^ 0x63 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cipher/aes.rs:781:5 [INFO] [stdout] | [INFO] [stdout] 781 | return rotl8(s, 1) ^ rotl8(s, 3) ^ rotl8(s, 6) ^ 0x05; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 781 - return rotl8(s, 1) ^ rotl8(s, 3) ^ rotl8(s, 6) ^ 0x05; [INFO] [stdout] 781 + rotl8(s, 1) ^ rotl8(s, 3) ^ rotl8(s, 6) ^ 0x05 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `mat` [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1649:15 [INFO] [stdout] | [INFO] [stdout] 1649 | for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1649 - for c in j..(MCELIECE_SYS_T + 1) { [INFO] [stdout] 1649 + for in mat.iter_mut().take((MCELIECE_SYS_T + 1)).skip(j) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mceliecebase.rs:1660:3 [INFO] [stdout] | [INFO] [stdout] 1660 | / for i in 0..MCELIECE_SYS_T { [INFO] [stdout] 1661 | | out[i] = mat[MCELIECE_SYS_T][i]; [INFO] [stdout] 1662 | | } [INFO] [stdout] | |_________^ help: try replacing the loop by: `out[..MCELIECE_SYS_T].copy_from_slice(&mat[MCELIECE_SYS_T][..MCELIECE_SYS_T]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mcelieceface.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | return qrc_mceliece_ref_decapsulate(secret, ciphertext, privatekey) == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return qrc_mceliece_ref_decapsulate(secret, ciphertext, privatekey) == 0; [INFO] [stdout] 126 + qrc_mceliece_ref_decapsulate(secret, ciphertext, privatekey) == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mcelieceface.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 128 - return false; [INFO] [stdout] 128 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mcelieceface.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | return qrc_mceliece_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 147 - return qrc_mceliece_decapsulate(secret, ciphertext, privatekey); [INFO] [stdout] 147 + qrc_mceliece_decapsulate(secret, ciphertext, privatekey) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cipher/aes.rs:786:5 [INFO] [stdout] | [INFO] [stdout] 786 | return affine_transform(inv); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 786 - return affine_transform(inv); [INFO] [stdout] 786 + affine_transform(inv) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cipher/aes.rs:791:5 [INFO] [stdout] | [INFO] [stdout] 791 | return gf_inv(b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 791 - return gf_inv(b); [INFO] [stdout] 791 + gf_inv(b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cipher/aes.rs:808:2 [INFO] [stdout] | [INFO] [stdout] 808 | return (x ^ y ^ (y << 1) ^ (y << 3) ^ (y << 4)) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 808 - return (x ^ y ^ (y << 1) ^ (y << 3) ^ (y << 4)) as u8 & 0xFF; [INFO] [stdout] 808 + (x ^ y ^ (y << 1) ^ (y << 3) ^ (y << 4)) as u8 & 0xFF [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cipher/aes.rs:808:9 [INFO] [stdout] | [INFO] [stdout] 808 | return (x ^ y ^ (y << 1) ^ (y << 3) ^ (y << 4)) as u8 & 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((x ^ y ^ (y << 1) ^ (y << 3) ^ (y << 4)) as u8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/asymmetric/cipher/mceliecebody/mcelieceface.rs:222:17 [INFO] [stdout] | [INFO] [stdout] 222 | privatekey: &mut Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 222 - privatekey: &mut Vec, [INFO] [stdout] 222 + privatekey: &mut [u8], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `state` [INFO] [stdout] --> src/cipher/aes.rs:860:11 [INFO] [stdout] | [INFO] [stdout] 860 | for i in 0..QRC_AES_BLOCK_SIZE { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 860 - for i in 0..QRC_AES_BLOCK_SIZE { [INFO] [stdout] 860 + for in state.iter_mut().take(QRC_AES_BLOCK_SIZE) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 96]` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:158:16 [INFO] [stdout] | [INFO] [stdout] 158 | let key = &seedbuf.clone()[2 * DILITHIUM_SEEDBYTES..]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `(*seedbuf)` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:170:60 [INFO] [stdout] | [INFO] [stdout] 170 | dilithium_polyvec_matrix_pointwise_montgomery(t1, mat, s1hat.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*s1hat` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:175:32 [INFO] [stdout] | [INFO] [stdout] 175 | dilithium_polyveck_add(t1, t1.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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 operation has no effect [INFO] [stdout] --> src/cipher/aes.rs:867:18 [INFO] [stdout] | [INFO] [stdout] 867 | let s0 = state[i + 0] as u32; [INFO] [stdout] | ^^^^^ help: consider reducing it to: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:175:44 [INFO] [stdout] | [INFO] [stdout] 175 | dilithium_polyveck_add(t1, t1.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*s2` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:179:45 [INFO] [stdout] | [INFO] [stdout] 179 | dilithium_polyveck_power2_round(t1, t0, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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 operation has no effect [INFO] [stdout] --> src/cipher/aes.rs:877:9 [INFO] [stdout] | [INFO] [stdout] 877 | state[i + 0] = (t0 ^ (((!(t0 >> 8)).wrapping_add(1)) & 0x0000011B)) as u8; [INFO] [stdout] | ^^^^^ help: consider reducing it to: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:180:32 [INFO] [stdout] | [INFO] [stdout] 180 | dilithium_pack_pk(pk, rho, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:185:41 [INFO] [stdout] | [INFO] [stdout] 185 | dilithium_pack_sk(sk, rho, tr, key, t0.clone(), s1.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:185:53 [INFO] [stdout] | [INFO] [stdout] 185 | dilithium_pack_sk(sk, rho, tr, key, t0.clone(), s1.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*s1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:185:65 [INFO] [stdout] | [INFO] [stdout] 185 | dilithium_pack_sk(sk, rho, tr, key, t0.clone(), s1.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*s2` [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: the loop variable `i` is only used to index `state` [INFO] [stdout] --> src/cipher/aes.rs:906:11 [INFO] [stdout] | [INFO] [stdout] 906 | for i in 0..QRC_AES_BLOCK_SIZE { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 906 - for i in 0..QRC_AES_BLOCK_SIZE { [INFO] [stdout] 906 + for in state.iter_mut().take(QRC_AES_BLOCK_SIZE) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cipher/aes.rs:916:5 [INFO] [stdout] | [INFO] [stdout] 916 | return b0 | (b1 << 8) | (b2 << 16) | (b3 << 24); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 916 - return b0 | (b1 << 8) | (b2 << 16) | (b3 << 24); [INFO] [stdout] 916 + b0 | (b1 << 8) | (b2 << 16) | (b3 << 24) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:265:64 [INFO] [stdout] | [INFO] [stdout] 265 | dilithium_polyvec_matrix_pointwise_montgomery(w1, mat, z.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:271:46 [INFO] [stdout] | [INFO] [stdout] 271 | dilithium_polyveck_decompose(w1, w0, w1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:272:41 [INFO] [stdout] | [INFO] [stdout] 272 | dilithium_polyveck_pack_w1(sig, w1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w1` [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: using `clone` on type `QrcDilithiumPoly` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:289:57 [INFO] [stdout] | [INFO] [stdout] 289 | dilithium_polyvecl_pointwise_poly_montgomery(z, cp.clone(), s1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*cp` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:289:69 [INFO] [stdout] | [INFO] [stdout] 289 | dilithium_polyvecl_pointwise_poly_montgomery(z, cp.clone(), s1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*s1` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:291:35 [INFO] [stdout] | [INFO] [stdout] 291 | dilithium_polyvecl_add(z, z.clone(), y.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:291:46 [INFO] [stdout] | [INFO] [stdout] 291 | dilithium_polyvecl_add(z, z.clone(), y.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*y` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:296:39 [INFO] [stdout] | [INFO] [stdout] 296 | if dilithium_polyvecl_chknorm(z.clone(), (DILITHIUM_GAMMA1 - DILITHIUM_BETA) as i32) != 0 { [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPoly` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:302:57 [INFO] [stdout] | [INFO] [stdout] 302 | dilithium_polyveck_pointwise_poly_montgomery(h, cp.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*cp` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:302:69 [INFO] [stdout] | [INFO] [stdout] 302 | dilithium_polyveck_pointwise_poly_montgomery(h, cp.clone(), s2.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*s2` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:304:19 [INFO] [stdout] | [INFO] [stdout] 304 | let w01 = w0.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w0` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:305:41 [INFO] [stdout] | [INFO] [stdout] 305 | dilithium_polyveck_sub(w0, w01, h.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*h` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:308:39 [INFO] [stdout] | [INFO] [stdout] 308 | if dilithium_polyveck_chknorm(w0.clone(), (DILITHIUM_GAMMA2 - DILITHIUM_BETA) as i32) != 0 { [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w0` [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: using `clone` on type `QrcDilithiumPoly` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:314:57 [INFO] [stdout] | [INFO] [stdout] 314 | dilithium_polyveck_pointwise_poly_montgomery(h, cp.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*cp` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:314:69 [INFO] [stdout] | [INFO] [stdout] 314 | dilithium_polyveck_pointwise_poly_montgomery(h, cp.clone(), t0.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t0` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:318:39 [INFO] [stdout] | [INFO] [stdout] 318 | if dilithium_polyveck_chknorm(h.clone(), DILITHIUM_GAMMA2 as i32) != 0 { [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*h` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:322:36 [INFO] [stdout] | [INFO] [stdout] 322 | dilithium_polyveck_add(w0, w0.clone(), h.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w0` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:322:48 [INFO] [stdout] | [INFO] [stdout] 322 | dilithium_polyveck_add(w0, w0.clone(), h.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*h` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:324:49 [INFO] [stdout] | [INFO] [stdout] 324 | let n = dilithium_polyveck_make_hint(h, w0.clone(), w1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w0` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:324:61 [INFO] [stdout] | [INFO] [stdout] 324 | let n = dilithium_polyveck_make_hint(h, w0.clone(), w1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w1` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:338:9 [INFO] [stdout] | [INFO] [stdout] 338 | z.clone(), [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | h.clone(), [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*h` [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: unneeded `return` statement [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 476 - return res; [INFO] [stdout] 476 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:407:9 [INFO] [stdout] | [INFO] [stdout] 407 | / if dilithium_unpack_sig(c, z, h, sig) == 0 { [INFO] [stdout] 408 | | if dilithium_polyvecl_chknorm(z.clone(), (DILITHIUM_GAMMA1 - DILITHIUM_BETA) as i32) [INFO] [stdout] 409 | | == 0 [INFO] [stdout] ... | [INFO] [stdout] 473 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 407 ~ if dilithium_unpack_sig(c, z, h, sig) == 0 [INFO] [stdout] 408 ~ && dilithium_polyvecl_chknorm(z.clone(), (DILITHIUM_GAMMA1 - DILITHIUM_BETA) as i32) [INFO] [stdout] 409 | == 0 [INFO] [stdout] ... [INFO] [stdout] 471 | res = qrc_intutils_verify(c, c2, DILITHIUM_SEEDBYTES) == 0; [INFO] [stdout] 472 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:408:43 [INFO] [stdout] | [INFO] [stdout] 408 | if dilithium_polyvecl_chknorm(z.clone(), (DILITHIUM_GAMMA1 - DILITHIUM_BETA) as i32) [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPolyvecl` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:433:72 [INFO] [stdout] | [INFO] [stdout] 433 | dilithium_polyvec_matrix_pointwise_montgomery(w1, mat, z.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*z` [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: using `clone` on type `QrcDilithiumPoly` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:438:66 [INFO] [stdout] | [INFO] [stdout] 438 | dilithium_polyveck_pointwise_poly_montgomery(t1, cp.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*cp` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:438:78 [INFO] [stdout] | [INFO] [stdout] 438 | dilithium_polyveck_pointwise_poly_montgomery(t1, cp.clone(), t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:440:27 [INFO] [stdout] | [INFO] [stdout] 440 | let w11 = w1.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*w1` [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: using `clone` on type `QrcDilithiumPolyveck` which implements the `Copy` trait [INFO] [stdout] --> src/asymmetric/signature/dilithiumbody/dilithiumbase.rs:441:49 [INFO] [stdout] | [INFO] [stdout] 441 | dilithium_polyveck_sub(w1, w11, t1.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*t1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [WARN] too many lines in the log, truncating it