[INFO] cloning repository https://github.com/Lydibug/Crypto-Math [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lydibug/Crypto-Math" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLydibug%2FCrypto-Math", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLydibug%2FCrypto-Math'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1052bbdf6ba1a5e3bdec064eb3f1da4868d20cd1 [INFO] linting Lydibug/Crypto-Math against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLydibug%2FCrypto-Math" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Lydibug/Crypto-Math [INFO] finished tweaking git repo https://github.com/Lydibug/Crypto-Math [INFO] tweaked toml for git repo https://github.com/Lydibug/Crypto-Math written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Lydibug/Crypto-Math 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 git repo https://github.com/Lydibug/Crypto-Math 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 8c5e5a57831856ff7809e360637f560b40be5544a21199307ed1434786244255 [INFO] running `Command { std: "docker" "start" "-a" "8c5e5a57831856ff7809e360637f560b40be5544a21199307ed1434786244255", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8c5e5a57831856ff7809e360637f560b40be5544a21199307ed1434786244255", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8c5e5a57831856ff7809e360637f560b40be5544a21199307ed1434786244255", kill_on_drop: false }` [INFO] [stdout] 8c5e5a57831856ff7809e360637f560b40be5544a21199307ed1434786244255 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 19d3527ad6388ad3f6b44e1a5699d9b35a69d2be9f1adfba17204fad8f65d5b5 [INFO] running `Command { std: "docker" "start" "-a" "19d3527ad6388ad3f6b44e1a5699d9b35a69d2be9f1adfba17204fad8f65d5b5", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.119 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking ppv-lite86 v0.2.16 [INFO] [stderr] Checking getrandom v0.2.4 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking crypto-math v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / #[allow(dead_code)] [INFO] [stdout] 2 | | [INFO] [stdout] | |_^ [INFO] [stdout] 3 | mod crypto_math; [INFO] [stdout] | --------------- the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_outer_attr)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the attribute should apply to the crate use an inner attribute [INFO] [stdout] | [INFO] [stdout] 1 | #![allow(dead_code)] [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/misc_functions.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / #[allow(dead_code)] [INFO] [stdout] 2 | | [INFO] [stdout] | |_^ [INFO] [stdout] 3 | pub mod misc [INFO] [stdout] | ------------ the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the attribute should apply to the parent module use an inner attribute [INFO] [stdout] | [INFO] [stdout] 1 | #![allow(dead_code)] [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / #[allow(dead_code)] [INFO] [stdout] 2 | | [INFO] [stdout] | |_^ [INFO] [stdout] 3 | mod crypto_math; [INFO] [stdout] | --------------- the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_outer_attr)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the attribute should apply to the crate use an inner attribute [INFO] [stdout] | [INFO] [stdout] 1 | #![allow(dead_code)] [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/misc_functions.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / #[allow(dead_code)] [INFO] [stdout] 2 | | [INFO] [stdout] | |_^ [INFO] [stdout] 3 | pub mod misc [INFO] [stdout] | ------------ the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the attribute should apply to the parent module use an inner attribute [INFO] [stdout] | [INFO] [stdout] 1 | #![allow(dead_code)] [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/crypto_math.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / pub mod crypto_math [INFO] [stdout] 3 | | { [INFO] [stdout] 4 | | // TODO: add arbitrary sized number support [INFO] [stdout] 5 | | /* [INFO] [stdout] ... | [INFO] [stdout] 891 | | } [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: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | return number; [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] 27 - return number; [INFO] [stdout] 27 + number [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | return (r, s, 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] 96 - return (r, s, t); [INFO] [stdout] 96 + (r, s, t) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | return x % n; [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] 118 - return x % n; [INFO] [stdout] 118 + x % n [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | return result; [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 result; [INFO] [stdout] 155 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/crypto_math.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | base = base % modulus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `base %= modulus` [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: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:171:43 [INFO] [stdout] | [INFO] [stdout] 171 | 0 | 1 | 4 | 6 | 8 | 9 | 10 => 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] 171 - 0 | 1 | 4 | 6 | 8 | 9 | 10 => return false, [INFO] [stdout] 171 + 0 | 1 | 4 | 6 | 8 | 9 | 10 => false, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:172:35 [INFO] [stdout] | [INFO] [stdout] 172 | 2 | 3 | 5 | 7 | 11 => return true, [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] 172 - 2 | 3 | 5 | 7 | 11 => return true, [INFO] [stdout] 172 + 2 | 3 | 5 | 7 | 11 => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:188:17 [INFO] [stdout] | [INFO] [stdout] 188 | / return (!bits[0] && !bits[2] && !bits[3]) || [INFO] [stdout] 189 | | (!bits[0] && !bits[1] && !bits[4]) || [INFO] [stdout] 190 | | (!bits[1] && bits[2] && !bits[3]) || [INFO] [stdout] 191 | | (!bits[0] && bits[1] && bits[3] && bits[4]) || [INFO] [stdout] ... | [INFO] [stdout] 194 | | ( bits[0] && !bits[1] && bits[2] && bits[4]) || [INFO] [stdout] 195 | | ( bits[0] && bits[2] && !bits[3] && bits[4]); [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] 188 ~ (!bits[0] && !bits[2] && !bits[3]) || [INFO] [stdout] 189 + (!bits[0] && !bits[1] && !bits[4]) || [INFO] [stdout] 190 + (!bits[1] && bits[2] && !bits[3]) || [INFO] [stdout] 191 + (!bits[0] && bits[1] && bits[3] && bits[4]) || [INFO] [stdout] 192 + ( bits[1] && bits[2] && bits[3] && !bits[4]) || [INFO] [stdout] 193 + ( bits[0] && !bits[2] && bits[3] && !bits[4]) || [INFO] [stdout] 194 + ( bits[0] && !bits[1] && bits[2] && bits[4]) || [INFO] [stdout] 195 ~ ( bits[0] && bits[2] && !bits[3] && bits[4]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:230:17 [INFO] [stdout] | [INFO] [stdout] 230 | return true; [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] 230 - return true; [INFO] [stdout] 230 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/crypto_math.rs:201:39 [INFO] [stdout] | [INFO] [stdout] 201 | if number & 1 == 0 || number % 5 == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace with: `number.is_multiple_of(5)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | return number; [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] 253 - return number; [INFO] [stdout] 253 + number [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/crypto_math.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / pub mod crypto_math [INFO] [stdout] 3 | | { [INFO] [stdout] 4 | | // TODO: add arbitrary sized number support [INFO] [stdout] 5 | | /* [INFO] [stdout] ... | [INFO] [stdout] 891 | | } [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: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | return number; [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] 27 - return number; [INFO] [stdout] 27 + number [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | return (r, s, 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] 96 - return (r, s, t); [INFO] [stdout] 96 + (r, s, t) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | return x % n; [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] 118 - return x % n; [INFO] [stdout] 118 + x % n [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | return result; [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 result; [INFO] [stdout] 155 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/crypto_math.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | base = base % modulus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `base %= modulus` [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: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:322:9 [INFO] [stdout] | [INFO] [stdout] 322 | return if d == n { None } else { Some(d) }; [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] 322 - return if d == n { None } else { Some(d) }; [INFO] [stdout] 322 + if d == n { None } else { Some(d) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/crypto_math.rs:273:9 [INFO] [stdout] | [INFO] [stdout] 273 | let m : u128; [INFO] [stdout] | ^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 278 | m = rand_num(1,n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `m` here [INFO] [stdout] | [INFO] [stdout] 273 ~ [INFO] [stdout] 274 | let c : u128; [INFO] [stdout] ... [INFO] [stdout] 277 | c = rand_num(1,n); [INFO] [stdout] 278 ~ let m : u128 = rand_num(1,n); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/crypto_math.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 274 | let c : u128; [INFO] [stdout] | ^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 277 | c = rand_num(1,n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `c` here [INFO] [stdout] | [INFO] [stdout] 274 ~ [INFO] [stdout] 275 | [INFO] [stdout] 276 | y = rand_num(1,n); [INFO] [stdout] 277 ~ let c : u128 = rand_num(1,n); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual absolute difference pattern without using `abs_diff` [INFO] [stdout] --> src/crypto_math.rs:301:34 [INFO] [stdout] | [INFO] [stdout] 301 | q = mod_mul( if x > y { x - y } else { y - x }, q, n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with `abs_diff`: `x.abs_diff(y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_abs_diff [INFO] [stdout] = note: `#[warn(clippy::manual_abs_diff)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual absolute difference pattern without using `abs_diff` [INFO] [stdout] --> src/crypto_math.rs:315:25 [INFO] [stdout] | [INFO] [stdout] 315 | d = gcd(if x > last_y { x - last_y } else { last_y - x }, n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with `abs_diff`: `x.abs_diff(last_y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_abs_diff [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:393:9 [INFO] [stdout] | [INFO] [stdout] 393 | return Some(result); [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] 393 - return Some(result); [INFO] [stdout] 393 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:410:9 [INFO] [stdout] | [INFO] [stdout] 410 | return if d > 1 && d < number { Some(d) } else { None }; [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] 410 - return if d > 1 && d < number { Some(d) } else { None }; [INFO] [stdout] 410 + if d > 1 && d < number { Some(d) } else { None } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:444:9 [INFO] [stdout] | [INFO] [stdout] 444 | / return match trial_division(number) [INFO] [stdout] 445 | | { [INFO] [stdout] 446 | | None => [INFO] [stdout] ... | [INFO] [stdout] 466 | | Some(num) => num [INFO] [stdout] 467 | | }; [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] 444 ~ match trial_division(number) [INFO] [stdout] 445 + { [INFO] [stdout] 446 + None => [INFO] [stdout] 447 + // If trial factorization failed, attempt pollard p-1 factorization [INFO] [stdout] 448 + match pollard_p1(number, 1000) [INFO] [stdout] 449 + { [INFO] [stdout] 450 + None => [INFO] [stdout] 451 + // If p-1 failed, attempt to find a root of the number [INFO] [stdout] 452 + match misc::perfect_power(number) [INFO] [stdout] 453 + { [INFO] [stdout] 454 + None => [INFO] [stdout] 455 + // If the number is not a perfect power, try pollard brent [INFO] [stdout] 456 + match pollard_brent(number) [INFO] [stdout] 457 + { [INFO] [stdout] 458 + None => number, [INFO] [stdout] 459 + //return the original number if no factor was found [INFO] [stdout] 460 + Some(num) => num [INFO] [stdout] 461 + }, [INFO] [stdout] 462 + Some(num) => num [INFO] [stdout] 463 + }, [INFO] [stdout] 464 + Some(num) => num [INFO] [stdout] 465 + }, [INFO] [stdout] 466 + Some(num) => num [INFO] [stdout] 467 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:497:9 [INFO] [stdout] | [INFO] [stdout] 497 | return prime_factors [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] 497 - return prime_factors [INFO] [stdout] 497 + prime_factors [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/crypto_math.rs:489:19 [INFO] [stdout] | [INFO] [stdout] 489 | while number % factor == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `number.is_multiple_of(factor)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:552:9 [INFO] [stdout] | [INFO] [stdout] 552 | return pot * phi; [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] 552 - return pot * phi; [INFO] [stdout] 552 + pot * phi [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:171:43 [INFO] [stdout] | [INFO] [stdout] 171 | 0 | 1 | 4 | 6 | 8 | 9 | 10 => 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] 171 - 0 | 1 | 4 | 6 | 8 | 9 | 10 => return false, [INFO] [stdout] 171 + 0 | 1 | 4 | 6 | 8 | 9 | 10 => false, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/crypto_math.rs:542:17 [INFO] [stdout] | [INFO] [stdout] 542 | let factor = prime_factors.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 540 ~ while let Some(factor) = prime_factors.pop() [INFO] [stdout] 541 | { [INFO] [stdout] 542 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:172:35 [INFO] [stdout] | [INFO] [stdout] 172 | 2 | 3 | 5 | 7 | 11 => return true, [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] 172 - 2 | 3 | 5 | 7 | 11 => return true, [INFO] [stdout] 172 + 2 | 3 | 5 | 7 | 11 => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:188:17 [INFO] [stdout] | [INFO] [stdout] 188 | / return (!bits[0] && !bits[2] && !bits[3]) || [INFO] [stdout] 189 | | (!bits[0] && !bits[1] && !bits[4]) || [INFO] [stdout] 190 | | (!bits[1] && bits[2] && !bits[3]) || [INFO] [stdout] 191 | | (!bits[0] && bits[1] && bits[3] && bits[4]) || [INFO] [stdout] ... | [INFO] [stdout] 194 | | ( bits[0] && !bits[1] && bits[2] && bits[4]) || [INFO] [stdout] 195 | | ( bits[0] && bits[2] && !bits[3] && bits[4]); [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] 188 ~ (!bits[0] && !bits[2] && !bits[3]) || [INFO] [stdout] 189 + (!bits[0] && !bits[1] && !bits[4]) || [INFO] [stdout] 190 + (!bits[1] && bits[2] && !bits[3]) || [INFO] [stdout] 191 + (!bits[0] && bits[1] && bits[3] && bits[4]) || [INFO] [stdout] 192 + ( bits[1] && bits[2] && bits[3] && !bits[4]) || [INFO] [stdout] 193 + ( bits[0] && !bits[2] && bits[3] && !bits[4]) || [INFO] [stdout] 194 + ( bits[0] && !bits[1] && bits[2] && bits[4]) || [INFO] [stdout] 195 ~ ( bits[0] && bits[2] && !bits[3] && bits[4]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:573:9 [INFO] [stdout] | [INFO] [stdout] 573 | return root; [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] 573 - return root; [INFO] [stdout] 573 + root [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:230:17 [INFO] [stdout] | [INFO] [stdout] 230 | return true; [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] 230 - return true; [INFO] [stdout] 230 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:585:9 [INFO] [stdout] | [INFO] [stdout] 585 | return residue_check == 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] 585 - return residue_check == 1; [INFO] [stdout] 585 + residue_check == 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:599:13 [INFO] [stdout] | [INFO] [stdout] 599 | 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] 599 - return 0; [INFO] [stdout] 599 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:603:13 [INFO] [stdout] | [INFO] [stdout] 603 | return 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] 603 - return 1; [INFO] [stdout] 603 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:607:13 [INFO] [stdout] | [INFO] [stdout] 607 | return -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] 607 - return -1; [INFO] [stdout] 607 + -1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/crypto_math.rs:597:12 [INFO] [stdout] | [INFO] [stdout] 597 | if a % p == 0 [INFO] [stdout] | ^^^^^^^^^^ help: replace with: `a.is_multiple_of(p)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:634:9 [INFO] [stdout] | [INFO] [stdout] 634 | return jacobi; [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] 634 - return jacobi; [INFO] [stdout] 634 + jacobi [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:680:9 [INFO] [stdout] | [INFO] [stdout] 680 | return kronecker; [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] 680 - return kronecker; [INFO] [stdout] 680 + kronecker [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/crypto_math.rs:702:12 [INFO] [stdout] | [INFO] [stdout] 702 | if !signed_number.is_none() && !signed_modulus.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `signed_number.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/crypto_math.rs:702:40 [INFO] [stdout] | [INFO] [stdout] 702 | if !signed_number.is_none() && !signed_modulus.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `signed_modulus.is_some()` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/crypto_math.rs:201:39 [INFO] [stdout] | [INFO] [stdout] 201 | if number & 1 == 0 || number % 5 == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace with: `number.is_multiple_of(5)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `signed_number` after checking its variant with `is_none` [INFO] [stdout] --> src/crypto_math.rs:704:31 [INFO] [stdout] | [INFO] [stdout] 702 | if !signed_number.is_none() && !signed_modulus.is_none() [INFO] [stdout] | ----------------------- the check is happening here [INFO] [stdout] 703 | { [INFO] [stdout] 704 | let rst = gcd_ext(signed_number.unwrap(),signed_modulus.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | return number; [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] 253 - return number; [INFO] [stdout] 253 + number [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `signed_modulus` after checking its variant with `is_none` [INFO] [stdout] --> src/crypto_math.rs:704:54 [INFO] [stdout] | [INFO] [stdout] 702 | if !signed_number.is_none() && !signed_modulus.is_none() [INFO] [stdout] | ------------------------ the check is happening here [INFO] [stdout] 703 | { [INFO] [stdout] 704 | let rst = gcd_ext(signed_number.unwrap(),signed_modulus.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:721:9 [INFO] [stdout] | [INFO] [stdout] 721 | return inverse; [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] 721 - return inverse; [INFO] [stdout] 721 + inverse [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:322:9 [INFO] [stdout] | [INFO] [stdout] 322 | return if d == n { None } else { Some(d) }; [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] 322 - return if d == n { None } else { Some(d) }; [INFO] [stdout] 322 + if d == n { None } else { Some(d) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/crypto_math.rs:273:9 [INFO] [stdout] | [INFO] [stdout] 273 | let m : u128; [INFO] [stdout] | ^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 278 | m = rand_num(1,n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `m` here [INFO] [stdout] | [INFO] [stdout] 273 ~ [INFO] [stdout] 274 | let c : u128; [INFO] [stdout] ... [INFO] [stdout] 277 | c = rand_num(1,n); [INFO] [stdout] 278 ~ let m : u128 = rand_num(1,n); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/crypto_math.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 274 | let c : u128; [INFO] [stdout] | ^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 277 | c = rand_num(1,n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `c` here [INFO] [stdout] | [INFO] [stdout] 274 ~ [INFO] [stdout] 275 | [INFO] [stdout] 276 | y = rand_num(1,n); [INFO] [stdout] 277 ~ let c : u128 = rand_num(1,n); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:758:9 [INFO] [stdout] | [INFO] [stdout] 758 | return true; [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] 758 - return true; [INFO] [stdout] 758 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/crypto_math.rs:731:9 [INFO] [stdout] | [INFO] [stdout] 731 | let totient : u128; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 740 | totient = eulers_phi(modulus); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `totient` here [INFO] [stdout] | [INFO] [stdout] 731 ~ [INFO] [stdout] 732 | let prime_factors : Vec<(u128,u32)>; [INFO] [stdout] ... [INFO] [stdout] 739 | [INFO] [stdout] 740 ~ let totient : u128 = eulers_phi(modulus); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/crypto_math.rs:732:9 [INFO] [stdout] | [INFO] [stdout] 732 | let prime_factors : Vec<(u128,u32)>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 741 | prime_factors = prime_factorize(totient); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `prime_factors` here [INFO] [stdout] | [INFO] [stdout] 732 ~ [INFO] [stdout] 733 | let mut powers : Vec; [INFO] [stdout] ... [INFO] [stdout] 740 | totient = eulers_phi(modulus); [INFO] [stdout] 741 ~ let prime_factors : Vec<(u128,u32)> = prime_factorize(totient); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual absolute difference pattern without using `abs_diff` [INFO] [stdout] --> src/crypto_math.rs:301:34 [INFO] [stdout] | [INFO] [stdout] 301 | q = mod_mul( if x > y { x - y } else { y - x }, q, n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with `abs_diff`: `x.abs_diff(y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_abs_diff [INFO] [stdout] = note: `#[warn(clippy::manual_abs_diff)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual absolute difference pattern without using `abs_diff` [INFO] [stdout] --> src/crypto_math.rs:315:25 [INFO] [stdout] | [INFO] [stdout] 315 | d = gcd(if x > last_y { x - last_y } else { last_y - x }, n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with `abs_diff`: `x.abs_diff(last_y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_abs_diff [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:846:9 [INFO] [stdout] | [INFO] [stdout] 846 | return primitives; [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] 846 - return primitives; [INFO] [stdout] 846 + primitives [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:393:9 [INFO] [stdout] | [INFO] [stdout] 393 | return Some(result); [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] 393 - return Some(result); [INFO] [stdout] 393 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/crypto_math.rs:882:20 [INFO] [stdout] | [INFO] [stdout] 882 | if !twin.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `twin.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `twin` after checking its variant with `is_none` [INFO] [stdout] --> src/crypto_math.rs:884:61 [INFO] [stdout] | [INFO] [stdout] 882 | if !twin.is_none() [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] 883 | { [INFO] [stdout] 884 | return mod_mul(root, pair.0, modulus) + twin.unwrap() % modulus; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:888:9 [INFO] [stdout] | [INFO] [stdout] 888 | 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] 888 - return 0; [INFO] [stdout] 888 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:410:9 [INFO] [stdout] | [INFO] [stdout] 410 | return if d > 1 && d < number { Some(d) } else { None }; [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] 410 - return if d > 1 && d < number { Some(d) } else { None }; [INFO] [stdout] 410 + if d > 1 && d < number { Some(d) } else { None } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:444:9 [INFO] [stdout] | [INFO] [stdout] 444 | / return match trial_division(number) [INFO] [stdout] 445 | | { [INFO] [stdout] 446 | | None => [INFO] [stdout] ... | [INFO] [stdout] 466 | | Some(num) => num [INFO] [stdout] 467 | | }; [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] 444 ~ match trial_division(number) [INFO] [stdout] 445 + { [INFO] [stdout] 446 + None => [INFO] [stdout] 447 + // If trial factorization failed, attempt pollard p-1 factorization [INFO] [stdout] 448 + match pollard_p1(number, 1000) [INFO] [stdout] 449 + { [INFO] [stdout] 450 + None => [INFO] [stdout] 451 + // If p-1 failed, attempt to find a root of the number [INFO] [stdout] 452 + match misc::perfect_power(number) [INFO] [stdout] 453 + { [INFO] [stdout] 454 + None => [INFO] [stdout] 455 + // If the number is not a perfect power, try pollard brent [INFO] [stdout] 456 + match pollard_brent(number) [INFO] [stdout] 457 + { [INFO] [stdout] 458 + None => number, [INFO] [stdout] 459 + //return the original number if no factor was found [INFO] [stdout] 460 + Some(num) => num [INFO] [stdout] 461 + }, [INFO] [stdout] 462 + Some(num) => num [INFO] [stdout] 463 + }, [INFO] [stdout] 464 + Some(num) => num [INFO] [stdout] 465 + }, [INFO] [stdout] 466 + Some(num) => num [INFO] [stdout] 467 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | return weight.try_into().unwrap(); [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] 18 - return weight.try_into().unwrap(); [INFO] [stdout] 18 + weight.try_into().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | return hamming_weight(diff); [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] 28 - return hamming_weight(diff); [INFO] [stdout] 28 + hamming_weight(diff) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | return (num3 & c, num_half & c); [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] 42 - return (num3 & c, num_half & c); [INFO] [stdout] 42 + (num3 & c, num_half & c) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:497:9 [INFO] [stdout] | [INFO] [stdout] 497 | return prime_factors [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] 497 - return prime_factors [INFO] [stdout] 497 + prime_factors [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | return np - nm; [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] 51 - return np - nm; [INFO] [stdout] 51 + np - nm [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/crypto_math.rs:489:19 [INFO] [stdout] | [INFO] [stdout] 489 | while number % factor == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `number.is_multiple_of(factor)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | return root; [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] 104 - return root; [INFO] [stdout] 104 + root [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:552:9 [INFO] [stdout] | [INFO] [stdout] 552 | return pot * phi; [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] 552 - return pot * phi; [INFO] [stdout] 552 + pot * phi [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | return ans; [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] 124 - return ans; [INFO] [stdout] 124 + ans [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/crypto_math.rs:542:17 [INFO] [stdout] | [INFO] [stdout] 542 | let factor = prime_factors.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 540 ~ while let Some(factor) = prime_factors.pop() [INFO] [stdout] 541 | { [INFO] [stdout] 542 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/misc_functions.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | ans = ans * base; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `ans *= base` [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/misc_functions.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | return None; [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] 195 - return None; [INFO] [stdout] 195 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:573:9 [INFO] [stdout] | [INFO] [stdout] 573 | return root; [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] 573 - return root; [INFO] [stdout] 573 + root [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:585:9 [INFO] [stdout] | [INFO] [stdout] 585 | return residue_check == 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] 585 - return residue_check == 1; [INFO] [stdout] 585 + residue_check == 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:599:13 [INFO] [stdout] | [INFO] [stdout] 599 | 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] 599 - return 0; [INFO] [stdout] 599 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:603:13 [INFO] [stdout] | [INFO] [stdout] 603 | return 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] 603 - return 1; [INFO] [stdout] 603 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:607:13 [INFO] [stdout] | [INFO] [stdout] 607 | return -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] 607 - return -1; [INFO] [stdout] 607 + -1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/crypto_math.rs:597:12 [INFO] [stdout] | [INFO] [stdout] 597 | if a % p == 0 [INFO] [stdout] | ^^^^^^^^^^ help: replace with: `a.is_multiple_of(p)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:634:9 [INFO] [stdout] | [INFO] [stdout] 634 | return jacobi; [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] 634 - return jacobi; [INFO] [stdout] 634 + jacobi [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:680:9 [INFO] [stdout] | [INFO] [stdout] 680 | return kronecker; [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] 680 - return kronecker; [INFO] [stdout] 680 + kronecker [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/crypto_math.rs:702:12 [INFO] [stdout] | [INFO] [stdout] 702 | if !signed_number.is_none() && !signed_modulus.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `signed_number.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/crypto_math.rs:702:40 [INFO] [stdout] | [INFO] [stdout] 702 | if !signed_number.is_none() && !signed_modulus.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `signed_modulus.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `signed_number` after checking its variant with `is_none` [INFO] [stdout] --> src/crypto_math.rs:704:31 [INFO] [stdout] | [INFO] [stdout] 702 | if !signed_number.is_none() && !signed_modulus.is_none() [INFO] [stdout] | ----------------------- the check is happening here [INFO] [stdout] 703 | { [INFO] [stdout] 704 | let rst = gcd_ext(signed_number.unwrap(),signed_modulus.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `signed_modulus` after checking its variant with `is_none` [INFO] [stdout] --> src/crypto_math.rs:704:54 [INFO] [stdout] | [INFO] [stdout] 702 | if !signed_number.is_none() && !signed_modulus.is_none() [INFO] [stdout] | ------------------------ the check is happening here [INFO] [stdout] 703 | { [INFO] [stdout] 704 | let rst = gcd_ext(signed_number.unwrap(),signed_modulus.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:721:9 [INFO] [stdout] | [INFO] [stdout] 721 | return inverse; [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] 721 - return inverse; [INFO] [stdout] 721 + inverse [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:758:9 [INFO] [stdout] | [INFO] [stdout] 758 | return true; [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] 758 - return true; [INFO] [stdout] 758 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/crypto_math.rs:731:9 [INFO] [stdout] | [INFO] [stdout] 731 | let totient : u128; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 740 | totient = eulers_phi(modulus); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `totient` here [INFO] [stdout] | [INFO] [stdout] 731 ~ [INFO] [stdout] 732 | let prime_factors : Vec<(u128,u32)>; [INFO] [stdout] ... [INFO] [stdout] 739 | [INFO] [stdout] 740 ~ let totient : u128 = eulers_phi(modulus); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/crypto_math.rs:732:9 [INFO] [stdout] | [INFO] [stdout] 732 | let prime_factors : Vec<(u128,u32)>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 741 | prime_factors = prime_factorize(totient); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `prime_factors` here [INFO] [stdout] | [INFO] [stdout] 732 ~ [INFO] [stdout] 733 | let mut powers : Vec; [INFO] [stdout] ... [INFO] [stdout] 740 | totient = eulers_phi(modulus); [INFO] [stdout] 741 ~ let prime_factors : Vec<(u128,u32)> = prime_factorize(totient); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:846:9 [INFO] [stdout] | [INFO] [stdout] 846 | return primitives; [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] 846 - return primitives; [INFO] [stdout] 846 + primitives [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/crypto_math.rs:882:20 [INFO] [stdout] | [INFO] [stdout] 882 | if !twin.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `twin.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `twin` after checking its variant with `is_none` [INFO] [stdout] --> src/crypto_math.rs:884:61 [INFO] [stdout] | [INFO] [stdout] 882 | if !twin.is_none() [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] 883 | { [INFO] [stdout] 884 | return mod_mul(root, pair.0, modulus) + twin.unwrap() % modulus; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/crypto_math.rs:888:9 [INFO] [stdout] | [INFO] [stdout] 888 | 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] 888 - return 0; [INFO] [stdout] 888 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | return weight.try_into().unwrap(); [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] 18 - return weight.try_into().unwrap(); [INFO] [stdout] 18 + weight.try_into().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | return hamming_weight(diff); [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] 28 - return hamming_weight(diff); [INFO] [stdout] 28 + hamming_weight(diff) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | return (num3 & c, num_half & c); [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] 42 - return (num3 & c, num_half & c); [INFO] [stdout] 42 + (num3 & c, num_half & c) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | return np - nm; [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] 51 - return np - nm; [INFO] [stdout] 51 + np - nm [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | return root; [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] 104 - return root; [INFO] [stdout] 104 + root [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/misc_functions.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | return ans; [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] 124 - return ans; [INFO] [stdout] 124 + ans [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/misc_functions.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | ans = ans * base; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `ans *= base` [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/misc_functions.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | return None; [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] 195 - return None; [INFO] [stdout] 195 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [optimized + debuginfo] target(s) in 3.37s [INFO] running `Command { std: "docker" "inspect" "19d3527ad6388ad3f6b44e1a5699d9b35a69d2be9f1adfba17204fad8f65d5b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "19d3527ad6388ad3f6b44e1a5699d9b35a69d2be9f1adfba17204fad8f65d5b5", kill_on_drop: false }` [INFO] [stdout] 19d3527ad6388ad3f6b44e1a5699d9b35a69d2be9f1adfba17204fad8f65d5b5