[INFO] fetching crate sapling-crypto_ce 0.1.3... [INFO] linting sapling-crypto_ce-0.1.3 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate sapling-crypto_ce 0.1.3 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate sapling-crypto_ce 0.1.3 [INFO] finished tweaking crates.io crate sapling-crypto_ce 0.1.3 [INFO] tweaked toml for crates.io crate sapling-crypto_ce 0.1.3 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate sapling-crypto_ce 0.1.3 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 sapling-crypto_ce 0.1.3 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] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded sha2 v0.8.1 [INFO] [stderr] Downloaded blake2-rfc_bellman_edition v0.0.1 [INFO] [stderr] Downloaded hex-literal-impl v0.2.1 [INFO] [stderr] Downloaded hermit-abi v0.1.12 [INFO] [stderr] Downloaded memoffset v0.5.4 [INFO] [stderr] Downloaded ff_derive_ce v0.8.0 [INFO] [stderr] Downloaded prefetch v0.2.0 [INFO] [stderr] Downloaded hex-literal v0.2.1 [INFO] [stderr] Downloaded proc-macro2 v1.0.12 [INFO] [stderr] Downloaded ff_ce v0.10.2 [INFO] [stderr] Downloaded bit-vec v0.6.2 [INFO] [stderr] Downloaded crossbeam-deque v0.7.3 [INFO] [stderr] Downloaded pin-project v0.4.16 [INFO] [stderr] Downloaded pin-project-internal v0.4.16 [INFO] [stderr] Downloaded quote v1.0.5 [INFO] [stderr] Downloaded syn v1.0.21 [INFO] [stderr] Downloaded crossbeam-channel v0.4.2 [INFO] [stderr] Downloaded bellman_ce v0.3.4 [INFO] [stderr] Downloaded pairing_ce v0.21.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3953fa72cb89af1ae96932fade285b38536b40b774d827ad24c67a75d6077020 [INFO] running `Command { std: "docker" "start" "-a" "3953fa72cb89af1ae96932fade285b38536b40b774d827ad24c67a75d6077020", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3953fa72cb89af1ae96932fade285b38536b40b774d827ad24c67a75d6077020", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3953fa72cb89af1ae96932fade285b38536b40b774d827ad24c67a75d6077020", kill_on_drop: false }` [INFO] [stdout] 3953fa72cb89af1ae96932fade285b38536b40b774d827ad24c67a75d6077020 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3d5378d80353e58ec84f06f93a2deb2ec27b7825f7a10957cf97336630bb5bf3 [INFO] running `Command { std: "docker" "start" "-a" "3d5378d80353e58ec84f06f93a2deb2ec27b7825f7a10957cf97336630bb5bf3", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.12 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.21 [INFO] [stderr] Compiling libc v0.2.70 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Checking futures-sink v0.3.5 [INFO] [stderr] Checking futures-core v0.3.5 [INFO] [stderr] Checking once_cell v1.4.0 [INFO] [stderr] Checking futures-io v0.3.5 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Checking byte-tools v0.3.1 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking hex v0.4.2 [INFO] [stderr] Checking block-padding v0.1.5 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling serde v1.0.110 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking constant_time_eq v0.1.5 [INFO] [stderr] Checking futures-task v0.3.5 [INFO] [stderr] Compiling proc-macro-hack v0.5.15 [INFO] [stderr] Checking bit-vec v0.6.2 [INFO] [stderr] Checking futures-channel v0.3.5 [INFO] [stderr] Checking fake-simd v0.1.2 [INFO] [stderr] Compiling num-traits v0.2.11 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Compiling memoffset v0.5.4 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Compiling hex-literal-impl v0.2.1 [INFO] [stderr] Checking blake2-rfc_bellman_edition v0.0.1 [INFO] [stderr] Checking hex-literal v0.2.1 [INFO] [stderr] Checking generic-array v0.12.3 [INFO] [stderr] Compiling quote v1.0.5 [INFO] [stderr] Checking crossbeam-queue v0.2.1 [INFO] [stderr] Checking crossbeam-channel v0.4.2 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking digest v0.8.1 [INFO] [stderr] Checking sha2 v0.8.1 [INFO] [stderr] Checking crossbeam v0.7.3 [INFO] [stderr] Compiling pin-project-internal v0.4.16 [INFO] [stderr] Compiling ff_derive_ce v0.8.0 [INFO] [stderr] Compiling serde_derive v1.0.110 [INFO] [stderr] Checking pin-project v0.4.16 [INFO] [stderr] Checking futures-util v0.3.5 [INFO] [stderr] Checking ff_ce v0.10.2 [INFO] [stderr] Checking pairing_ce v0.21.0 [INFO] [stderr] Checking futures-executor v0.3.5 [INFO] [stderr] Checking futures v0.3.5 [INFO] [stderr] Checking bellman_ce v0.3.4 [INFO] [stderr] Checking sapling-crypto_ce v0.1.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/edwards.rs:154:29 [INFO] [stdout] | [INFO] [stdout] 154 | ... x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/edwards.rs:155:29 [INFO] [stdout] | [INFO] [stdout] 155 | ... y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/edwards.rs:156:29 [INFO] [stdout] | [INFO] [stdout] 156 | ... t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/edwards.rs:310:25 [INFO] [stdout] | [INFO] [stdout] 310 | t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/edwards.rs:311:25 [INFO] [stdout] | [INFO] [stdout] 311 | z: z, [INFO] [stdout] | ^^^^ help: replace it with: `z` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/montgomery.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/montgomery.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/babyjubjub/mod.rs:137:34 [INFO] [stdout] | [INFO] [stdout] 137 | fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/mod.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | montgomery_a: montgomery_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/mod.rs:212:13 [INFO] [stdout] | [INFO] [stdout] 212 | montgomery_2a: montgomery_2a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_2a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:194:29 [INFO] [stdout] | [INFO] [stdout] 194 | ... x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:195:29 [INFO] [stdout] | [INFO] [stdout] 195 | ... y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:196:29 [INFO] [stdout] | [INFO] [stdout] 196 | ... t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:362:25 [INFO] [stdout] | [INFO] [stdout] 362 | t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:363:25 [INFO] [stdout] | [INFO] [stdout] 363 | z: z, [INFO] [stdout] | ^^^^ help: replace it with: `z` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/montgomery.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/montgomery.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/jubjub/mod.rs:134:34 [INFO] [stdout] | [INFO] [stdout] 134 | fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/mod.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | montgomery_a: montgomery_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/mod.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | montgomery_2a: montgomery_2a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_2a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | montgomery_a: montgomery_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | montgomery_2a: montgomery_2a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_2a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:361:13 [INFO] [stdout] | [INFO] [stdout] 361 | montgomery_a: montgomery_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | montgomery_2a: montgomery_2a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_2a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/group_hash.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | h: h [INFO] [stdout] | ^^^^ help: replace it with: `h` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/group_hash.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | h: h [INFO] [stdout] | ^^^^ help: replace it with: `h` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/boolean.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | value: value [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/boolean.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | value: value [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/multieq.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | cs: cs, [INFO] [stdout] | ^^^^^^ help: replace it with: `cs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | bits: bits, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | bits: bits, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | value: value [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | bits: bits, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | bits: bits, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/num.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/num.rs:316:13 [INFO] [stdout] | [INFO] [stdout] 316 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/baby_ecc.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/baby_ecc.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | y: y [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/baby_ecc.rs:641:13 [INFO] [stdout] | [INFO] [stdout] 641 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/baby_ecc.rs:642:13 [INFO] [stdout] | [INFO] [stdout] 642 | y: y [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/ecc.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/ecc.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | y: y [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/ecc.rs:653:13 [INFO] [stdout] | [INFO] [stdout] 653 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/ecc.rs:654:13 [INFO] [stdout] | [INFO] [stdout] 654 | y: y [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/edwards.rs:154:29 [INFO] [stdout] | [INFO] [stdout] 154 | ... x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/edwards.rs:155:29 [INFO] [stdout] | [INFO] [stdout] 155 | ... y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/edwards.rs:156:29 [INFO] [stdout] | [INFO] [stdout] 156 | ... t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/edwards.rs:310:25 [INFO] [stdout] | [INFO] [stdout] 310 | t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/edwards.rs:311:25 [INFO] [stdout] | [INFO] [stdout] 311 | z: z, [INFO] [stdout] | ^^^^ help: replace it with: `z` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/montgomery.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/montgomery.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/merkle.rs:569:13 [INFO] [stdout] | [INFO] [stdout] 569 | bits_per_level: bits_per_level, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bits_per_level` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/input.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | mac: mac, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `mac` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/input.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | nf: nf [INFO] [stdout] | ^^^^^^ help: replace it with: `nf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/output.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | cm: cm [INFO] [stdout] | ^^^^^^ help: replace it with: `cm` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/babyjubjub/mod.rs:137:34 [INFO] [stdout] | [INFO] [stdout] 137 | fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | bits: bits [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/mod.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | montgomery_a: montgomery_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/babyjubjub/mod.rs:212:13 [INFO] [stdout] | [INFO] [stdout] 212 | montgomery_2a: montgomery_2a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_2a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/primitives/mod.rs:116:17 [INFO] [stdout] | [INFO] [stdout] 116 | pk_d: pk_d, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `pk_d` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/primitives/mod.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | diversifier: diversifier [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `diversifier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/primitives/mod.rs:160:17 [INFO] [stdout] | [INFO] [stdout] 160 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/primitives/mod.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | g_d: g_d, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `g_d` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | pub const GH_FIRST_BLOCK: &'static [u8; 64] [INFO] [stdout] | -^^^^^^^--------- help: consider removing `'static`: `&[u8; 64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:10:37 [INFO] [stdout] | [INFO] [stdout] 10 | pub const CRH_IVK_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:14:36 [INFO] [stdout] | [INFO] [stdout] 14 | pub const PRF_NF_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:19:54 [INFO] [stdout] | [INFO] [stdout] 19 | pub const PEDERSEN_HASH_GENERATORS_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:23:49 [INFO] [stdout] | [INFO] [stdout] 23 | pub const KEY_DIVERSIFICATION_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:27:52 [INFO] [stdout] | [INFO] [stdout] 27 | pub const SPENDING_KEY_GENERATOR_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:31:65 [INFO] [stdout] | [INFO] [stdout] 31 | pub const PROOF_GENERATION_KEY_BASE_GENERATOR_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:194:29 [INFO] [stdout] | [INFO] [stdout] 194 | ... x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:195:29 [INFO] [stdout] | [INFO] [stdout] 195 | ... y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:196:29 [INFO] [stdout] | [INFO] [stdout] 196 | ... t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:362:25 [INFO] [stdout] | [INFO] [stdout] 362 | t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/edwards.rs:363:25 [INFO] [stdout] | [INFO] [stdout] 363 | z: z, [INFO] [stdout] | ^^^^ help: replace it with: `z` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/montgomery.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/montgomery.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:35:56 [INFO] [stdout] | [INFO] [stdout] 35 | pub const VALUE_COMMITMENT_GENERATOR_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:39:66 [INFO] [stdout] | [INFO] [stdout] 39 | pub const NULLIFIER_POSITION_IN_TREE_GENERATOR_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:43:50 [INFO] [stdout] | [INFO] [stdout] 43 | pub const MATTER_EDDSA_BLAKE2S_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/eddsa.rs:143:36 [INFO] [stdout] | [INFO] [stdout] 143 | Signature { r: as_unknown, s: s } [INFO] [stdout] | ^^^^ help: replace it with: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/eddsa.rs:194:36 [INFO] [stdout] | [INFO] [stdout] 194 | Signature { r: as_unknown, s: s } [INFO] [stdout] | ^^^^ help: replace it with: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/eddsa.rs:250:36 [INFO] [stdout] | [INFO] [stdout] 250 | Signature { r: as_unknown, s: s } [INFO] [stdout] | ^^^^ help: replace it with: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/eddsa.rs:303:36 [INFO] [stdout] | [INFO] [stdout] 303 | Signature { r: as_unknown, s: s } [INFO] [stdout] | ^^^^ help: replace it with: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/as_waksman.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | min: min, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `min` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/as_waksman.rs:191:13 [INFO] [stdout] | [INFO] [stdout] 191 | max: max [INFO] [stdout] | ^^^^^^^^ help: replace it with: `max` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/as_waksman.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | min: min, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `min` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/as_waksman.rs:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | max: max [INFO] [stdout] | ^^^^^^^^ help: replace it with: `max` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/poseidon/bn256.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/poseidon/bn256.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | r_f: r_f, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `r_f` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/poseidon/bn256.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | r_p: r_p, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `r_p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/jubjub/mod.rs:134:34 [INFO] [stdout] | [INFO] [stdout] 134 | fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/poseidon/bn256.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | mds_matrix: mds_matrix, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mds_matrix` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/mod.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | montgomery_a: montgomery_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/jubjub/mod.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | montgomery_2a: montgomery_2a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_2a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | montgomery_a: montgomery_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | montgomery_2a: montgomery_2a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_2a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:361:13 [INFO] [stdout] | [INFO] [stdout] 361 | montgomery_a: montgomery_a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | montgomery_2a: montgomery_2a, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `montgomery_2a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/group_hash.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | h: h [INFO] [stdout] | ^^^^ help: replace it with: `h` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/group_hash.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | h: h [INFO] [stdout] | ^^^^ help: replace it with: `h` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/boolean.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | value: value [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/boolean.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | value: value [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/multieq.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | cs: cs, [INFO] [stdout] | ^^^^^^ help: replace it with: `cs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | bits: bits, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | bits: bits, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | value: value [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | bits: bits, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/uint32.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | bits: bits, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/num.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/num.rs:316:13 [INFO] [stdout] | [INFO] [stdout] 316 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/baby_ecc.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/baby_ecc.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | y: y [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/baby_ecc.rs:641:13 [INFO] [stdout] | [INFO] [stdout] 641 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/baby_ecc.rs:642:13 [INFO] [stdout] | [INFO] [stdout] 642 | y: y [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/ecc.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/ecc.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | y: y [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/ecc.rs:653:13 [INFO] [stdout] | [INFO] [stdout] 653 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/ecc.rs:654:13 [INFO] [stdout] | [INFO] [stdout] 654 | y: y [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/merkle.rs:569:13 [INFO] [stdout] | [INFO] [stdout] 569 | bits_per_level: bits_per_level, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bits_per_level` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sapling/mod.rs:706:17 [INFO] [stdout] | [INFO] [stdout] 706 | params: params, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `params` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sapling/mod.rs:786:17 [INFO] [stdout] | [INFO] [stdout] 786 | params: params, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `params` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/input.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | mac: mac, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `mac` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/input.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | nf: nf [INFO] [stdout] | ^^^^^^ help: replace it with: `nf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/output.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | cm: cm [INFO] [stdout] | ^^^^^^ help: replace it with: `cm` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | bits: bits [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `bits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:412:21 [INFO] [stdout] | [INFO] [stdout] 412 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:413:21 [INFO] [stdout] | [INFO] [stdout] 413 | a_sk: a_sk, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `a_sk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:414:21 [INFO] [stdout] | [INFO] [stdout] 414 | rho: rho, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `rho` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:415:21 [INFO] [stdout] | [INFO] [stdout] 415 | r: r, [INFO] [stdout] | ^^^^ help: replace it with: `r` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:416:21 [INFO] [stdout] | [INFO] [stdout] 416 | auth_path: auth_path [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `auth_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:431:21 [INFO] [stdout] | [INFO] [stdout] 431 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:432:21 [INFO] [stdout] | [INFO] [stdout] 432 | a_pk: a_pk, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `a_pk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:433:21 [INFO] [stdout] | [INFO] [stdout] 433 | r: r [INFO] [stdout] | ^^^^ help: replace it with: `r` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | vpub_old: vpub_old, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `vpub_old` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:452:13 [INFO] [stdout] | [INFO] [stdout] 452 | vpub_new: vpub_new, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `vpub_new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:453:13 [INFO] [stdout] | [INFO] [stdout] 453 | h_sig: h_sig, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `h_sig` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | phi: phi, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `phi` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:455:13 [INFO] [stdout] | [INFO] [stdout] 455 | inputs: inputs, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `inputs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:456:13 [INFO] [stdout] | [INFO] [stdout] 456 | outputs: outputs, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `outputs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/circuit/sprout/mod.rs:457:13 [INFO] [stdout] | [INFO] [stdout] 457 | rt: rt [INFO] [stdout] | ^^^^^^ help: replace it with: `rt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/primitives/mod.rs:116:17 [INFO] [stdout] | [INFO] [stdout] 116 | pk_d: pk_d, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `pk_d` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/primitives/mod.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | diversifier: diversifier [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `diversifier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/primitives/mod.rs:160:17 [INFO] [stdout] | [INFO] [stdout] 160 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/primitives/mod.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | g_d: g_d, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `g_d` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | pub const GH_FIRST_BLOCK: &'static [u8; 64] [INFO] [stdout] | -^^^^^^^--------- help: consider removing `'static`: `&[u8; 64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:10:37 [INFO] [stdout] | [INFO] [stdout] 10 | pub const CRH_IVK_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:14:36 [INFO] [stdout] | [INFO] [stdout] 14 | pub const PRF_NF_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:19:54 [INFO] [stdout] | [INFO] [stdout] 19 | pub const PEDERSEN_HASH_GENERATORS_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:23:49 [INFO] [stdout] | [INFO] [stdout] 23 | pub const KEY_DIVERSIFICATION_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:27:52 [INFO] [stdout] | [INFO] [stdout] 27 | pub const SPENDING_KEY_GENERATOR_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:31:65 [INFO] [stdout] | [INFO] [stdout] 31 | pub const PROOF_GENERATION_KEY_BASE_GENERATOR_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:35:56 [INFO] [stdout] | [INFO] [stdout] 35 | pub const VALUE_COMMITMENT_GENERATOR_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:39:66 [INFO] [stdout] | [INFO] [stdout] 39 | pub const NULLIFIER_POSITION_IN_TREE_GENERATOR_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/constants.rs:43:50 [INFO] [stdout] | [INFO] [stdout] 43 | pub const MATTER_EDDSA_BLAKE2S_PERSONALIZATION: &'static [u8; 8] [INFO] [stdout] | -^^^^^^^-------- help: consider removing `'static`: `&[u8; 8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/eddsa.rs:143:36 [INFO] [stdout] | [INFO] [stdout] 143 | Signature { r: as_unknown, s: s } [INFO] [stdout] | ^^^^ help: replace it with: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/eddsa.rs:194:36 [INFO] [stdout] | [INFO] [stdout] 194 | Signature { r: as_unknown, s: s } [INFO] [stdout] | ^^^^ help: replace it with: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/eddsa.rs:250:36 [INFO] [stdout] | [INFO] [stdout] 250 | Signature { r: as_unknown, s: s } [INFO] [stdout] | ^^^^ help: replace it with: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/eddsa.rs:303:36 [INFO] [stdout] | [INFO] [stdout] 303 | Signature { r: as_unknown, s: s } [INFO] [stdout] | ^^^^ help: replace it with: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/as_waksman.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | min: min, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `min` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/as_waksman.rs:191:13 [INFO] [stdout] | [INFO] [stdout] 191 | max: max [INFO] [stdout] | ^^^^^^^^ help: replace it with: `max` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/as_waksman.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | min: min, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `min` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/as_waksman.rs:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | max: max [INFO] [stdout] | ^^^^^^^^ help: replace it with: `max` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/poseidon/bn256.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | t: t, [INFO] [stdout] | ^^^^ help: replace it with: `t` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/poseidon/bn256.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | r_f: r_f, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `r_f` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/poseidon/bn256.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | r_p: r_p, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `r_p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/poseidon/bn256.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | mds_matrix: mds_matrix, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mds_matrix` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/circuit/poseidon_hash.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/circuit/poseidon_hash.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/circuit/poseidon_hash.rs:402:9 [INFO] [stdout] | [INFO] [stdout] 402 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/circuit/poseidon_hash.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 360 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/circuit/poseidon_hash.rs:306:9 [INFO] [stdout] | [INFO] [stdout] 306 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/poseidon/mod.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 230 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/poseidon/mod.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/poseidon/mod.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/babyjubjub/edwards.rs:450:21 [INFO] [stdout] | [INFO] [stdout] 450 | let mut c = params.edwards_d().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.edwards_d()` [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: unneeded `return` statement [INFO] [stdout] --> src/babyjubjub/montgomery.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | / return Some(Point { [INFO] [stdout] 89 | | x: x, [INFO] [stdout] 90 | | y: y, [INFO] [stdout] 91 | | infinity: false, [INFO] [stdout] 92 | | _marker: PhantomData [INFO] [stdout] 93 | | }) [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] 88 ~ Some(Point { [INFO] [stdout] 89 + x: x, [INFO] [stdout] 90 + y: y, [INFO] [stdout] 91 + infinity: false, [INFO] [stdout] 92 + _marker: PhantomData [INFO] [stdout] 93 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/babyjubjub/montgomery.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | / match Self::get_for_x(x, rng.gen(), params) { [INFO] [stdout] 116 | | Some(p) => { [INFO] [stdout] 117 | | return p [INFO] [stdout] 118 | | }, [INFO] [stdout] 119 | | None => {} [INFO] [stdout] 120 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 115 ~ if let Some(p) = Self::get_for_x(x, rng.gen(), params) { [INFO] [stdout] 116 + return p [INFO] [stdout] 117 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/babyjubjub/montgomery.rs:248:27 [INFO] [stdout] | [INFO] [stdout] 248 | let mut tmp = params.montgomery_a().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.montgomery_a()` [INFO] [stdout] | [INFO] [stdout] = help: 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 integer literal to `u32` is unnecessary [INFO] [stdout] --> src/babyjubjub/fs.rs:228:23 [INFO] [stdout] | [INFO] [stdout] 228 | let mut ret = (4 as u32) * 64; [INFO] [stdout] | ^^^^^^^^^^ help: try: `4_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: this function has too many arguments (9/7) [INFO] [stdout] --> src/babyjubjub/fs.rs:544:5 [INFO] [stdout] | [INFO] [stdout] 544 | / fn mont_reduce( [INFO] [stdout] 545 | | &mut self, [INFO] [stdout] 546 | | r0: u64, [INFO] [stdout] 547 | | mut r1: u64, [INFO] [stdout] ... | [INFO] [stdout] 553 | | mut r7: u64 [INFO] [stdout] 554 | | ) [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/babyjubjub/mod.rs:128:46 [INFO] [stdout] | [INFO] [stdout] 128 | fn pedersen_circuit_generators(&self) -> &[Vec>]; [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: you should consider adding a `Default` implementation for `JubjubBn256` [INFO] [stdout] --> src/babyjubjub/mod.rs:199:5 [INFO] [stdout] | [INFO] [stdout] 199 | / pub fn new() -> Self { [INFO] [stdout] 200 | | let montgomery_a = Fr::from_str("168698").unwrap(); [INFO] [stdout] 201 | | let mut montgomery_2a = montgomery_a; [INFO] [stdout] 202 | | montgomery_2a.double(); [INFO] [stdout] ... | [INFO] [stdout] 417 | | tmp_params [INFO] [stdout] 418 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 198 + impl Default for JubjubBn256 { [INFO] [stdout] 199 + fn default() -> Self { [INFO] [stdout] 200 + Self::new() [INFO] [stdout] 201 + } [INFO] [stdout] 202 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/babyjubjub/mod.rs:242:35 [INFO] [stdout] | [INFO] [stdout] 242 | assert!(tag[i] != u8::max_value()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 242 - assert!(tag[i] != u8::max_value()); [INFO] [stdout] 242 + assert!(tag[i] != u8::MAX); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `cloned` [INFO] [stdout] --> src/babyjubjub/mod.rs:366:24 [INFO] [stdout] | [INFO] [stdout] 366 | for gen in tmp_params.pedersen_hash_generators.iter().cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: remove any references to the binding [INFO] [stdout] | [INFO] [stdout] 366 ~ for gen in tmp_params.pedersen_hash_generators.iter() { [INFO] [stdout] 367 ~ let mut gen = montgomery::Point::from_edwards(gen, &tmp_params); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/jubjub/edwards.rs:499:21 [INFO] [stdout] | [INFO] [stdout] 499 | let mut c = params.edwards_d().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.edwards_d()` [INFO] [stdout] | [INFO] [stdout] = help: 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/jubjub/montgomery.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | / return Some(Point { [INFO] [stdout] 89 | | x: x, [INFO] [stdout] 90 | | y: y, [INFO] [stdout] 91 | | infinity: false, [INFO] [stdout] 92 | | _marker: PhantomData [INFO] [stdout] 93 | | }) [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] 88 ~ Some(Point { [INFO] [stdout] 89 + x: x, [INFO] [stdout] 90 + y: y, [INFO] [stdout] 91 + infinity: false, [INFO] [stdout] 92 + _marker: PhantomData [INFO] [stdout] 93 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/jubjub/montgomery.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | / match Self::get_for_x(x, rng.gen(), params) { [INFO] [stdout] 116 | | Some(p) => { [INFO] [stdout] 117 | | return p [INFO] [stdout] 118 | | }, [INFO] [stdout] 119 | | None => {} [INFO] [stdout] 120 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 115 ~ if let Some(p) = Self::get_for_x(x, rng.gen(), params) { [INFO] [stdout] 116 + return p [INFO] [stdout] 117 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/jubjub/montgomery.rs:248:27 [INFO] [stdout] | [INFO] [stdout] 248 | let mut tmp = params.montgomery_a().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.montgomery_a()` [INFO] [stdout] | [INFO] [stdout] = help: 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 integer literal to `u32` is unnecessary [INFO] [stdout] --> src/jubjub/fs.rs:198:23 [INFO] [stdout] | [INFO] [stdout] 198 | let mut ret = (4 as u32) * 64; [INFO] [stdout] | ^^^^^^^^^^ help: try: `4_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: this function has too many arguments (9/7) [INFO] [stdout] --> src/jubjub/fs.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | / fn mont_reduce( [INFO] [stdout] 515 | | &mut self, [INFO] [stdout] 516 | | r0: u64, [INFO] [stdout] 517 | | mut r1: u64, [INFO] [stdout] ... | [INFO] [stdout] 523 | | mut r7: u64 [INFO] [stdout] 524 | | ) [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/jubjub/mod.rs:125:46 [INFO] [stdout] | [INFO] [stdout] 125 | fn pedersen_circuit_generators(&self) -> &[Vec>]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `JubjubBls12` [INFO] [stdout] --> src/jubjub/mod.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | / pub fn new() -> Self { [INFO] [stdout] 194 | | let montgomery_a = Fr::from_str("40962").unwrap(); [INFO] [stdout] 195 | | let mut montgomery_2a = montgomery_a; [INFO] [stdout] 196 | | montgomery_2a.double(); [INFO] [stdout] ... | [INFO] [stdout] 409 | | tmp_params [INFO] [stdout] 410 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 192 + impl Default for JubjubBls12 { [INFO] [stdout] 193 + fn default() -> Self { [INFO] [stdout] 194 + Self::new() [INFO] [stdout] 195 + } [INFO] [stdout] 196 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/jubjub/mod.rs:234:35 [INFO] [stdout] | [INFO] [stdout] 234 | assert!(tag[i] != u8::max_value()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 234 - assert!(tag[i] != u8::max_value()); [INFO] [stdout] 234 + assert!(tag[i] != u8::MAX); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `cloned` [INFO] [stdout] --> src/jubjub/mod.rs:358:24 [INFO] [stdout] | [INFO] [stdout] 358 | for gen in tmp_params.pedersen_hash_generators.iter().cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] help: remove any references to the binding [INFO] [stdout] | [INFO] [stdout] 358 ~ for gen in tmp_params.pedersen_hash_generators.iter() { [INFO] [stdout] 359 ~ let mut gen = montgomery::Point::from_edwards(gen, &tmp_params); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/alt_babyjubjub/fs.rs:228:23 [INFO] [stdout] | [INFO] [stdout] 228 | let mut ret = (4 as u32) * 64; [INFO] [stdout] | ^^^^^^^^^^ help: try: `4_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: this function has too many arguments (9/7) [INFO] [stdout] --> src/alt_babyjubjub/fs.rs:544:5 [INFO] [stdout] | [INFO] [stdout] 544 | / fn mont_reduce( [INFO] [stdout] 545 | | &mut self, [INFO] [stdout] 546 | | r0: u64, [INFO] [stdout] 547 | | mut r1: u64, [INFO] [stdout] ... | [INFO] [stdout] 553 | | mut r7: u64 [INFO] [stdout] 554 | | ) [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: you should consider adding a `Default` implementation for `AltJubjubBn256` [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | / pub fn new() -> Self { [INFO] [stdout] 134 | | let montgomery_a = Fr::from_str("168698").unwrap(); [INFO] [stdout] 135 | | let mut montgomery_2a = montgomery_a; [INFO] [stdout] 136 | | montgomery_2a.double(); [INFO] [stdout] ... | [INFO] [stdout] 349 | | tmp_params [INFO] [stdout] 350 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 132 + impl Default for AltJubjubBn256 { [INFO] [stdout] 133 + fn default() -> Self { [INFO] [stdout] 134 + Self::new() [INFO] [stdout] 135 + } [INFO] [stdout] 136 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:174:35 [INFO] [stdout] | [INFO] [stdout] 174 | assert!(tag[i] != u8::max_value()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 174 - assert!(tag[i] != u8::max_value()); [INFO] [stdout] 174 + assert!(tag[i] != u8::MAX); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `cloned` [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:298:24 [INFO] [stdout] | [INFO] [stdout] 298 | for gen in tmp_params.pedersen_hash_generators.iter().cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] help: remove any references to the binding [INFO] [stdout] | [INFO] [stdout] 298 ~ for gen in tmp_params.pedersen_hash_generators.iter() { [INFO] [stdout] 299 ~ let mut gen = montgomery::Point::from_edwards(gen, &tmp_params); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:393:35 [INFO] [stdout] | [INFO] [stdout] 393 | assert!(tag[i] != u8::max_value()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 393 - assert!(tag[i] != u8::max_value()); [INFO] [stdout] 393 + assert!(tag[i] != u8::MAX); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `cloned` [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:517:24 [INFO] [stdout] | [INFO] [stdout] 517 | for gen in tmp_params.pedersen_hash_generators.iter().cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] help: remove any references to the binding [INFO] [stdout] | [INFO] [stdout] 517 ~ for gen in tmp_params.pedersen_hash_generators.iter() { [INFO] [stdout] 518 ~ let mut gen = montgomery::Point::from_edwards(gen, &tmp_params); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/circuit/test/mod.rs:40:18 [INFO] [stdout] | [INFO] [stdout] 40 | constraints: Vec<( [INFO] [stdout] | __________________^ [INFO] [stdout] 41 | | LinearCombination, [INFO] [stdout] 42 | | LinearCombination, [INFO] [stdout] 43 | | LinearCombination, [INFO] [stdout] 44 | | String [INFO] [stdout] 45 | | )>, [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `OrderedVariable` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/test/mod.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | to_remove.push(var.clone()) [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*var` [INFO] [stdout] | [INFO] [stdout] = help: 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/circuit/test/mod.rs:148:24 [INFO] [stdout] | [INFO] [stdout] 148 | tmp.mul_assign(&coeff); [INFO] [stdout] | ^^^^^^ help: change this to: `coeff` [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: you should consider adding a `Default` implementation for `TestConstraintSystem` [INFO] [stdout] --> src/circuit/test/mod.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | / pub fn new() -> TestConstraintSystem { [INFO] [stdout] 157 | | let mut map = HashMap::new(); [INFO] [stdout] 158 | | map.insert("ONE".into(), NamedObject::Var(TestConstraintSystem::::one())); [INFO] [stdout] ... | [INFO] [stdout] 167 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 155 + impl Default for TestConstraintSystem { [INFO] [stdout] 156 + fn default() -> Self { [INFO] [stdout] 157 + Self::new() [INFO] [stdout] 158 + } [INFO] [stdout] 159 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/circuit/test/mod.rs:179:47 [INFO] [stdout] | [INFO] [stdout] 179 | E::Fr::from_str("2").unwrap().pow(&[i as u64]) [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[i as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/test/mod.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | for &(ref a, ref b, ref c, ref name) in &self.constraints { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 220 - for &(ref a, ref b, ref c, ref name) in &self.constraints { [INFO] [stdout] 220 + for (a, b, c, name) in &self.constraints { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 221 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 221 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:231:9 [INFO] [stdout] | [INFO] [stdout] 231 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 231 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 231 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/test/mod.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | for &(ref a, ref b, ref c, ref _name) in &self.constraints { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 256 - for &(ref a, ref b, ref c, ref _name) in &self.constraints { [INFO] [stdout] 256 + for (a, b, c, _name) in &self.constraints { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&inp.1).is_none()` [INFO] [stdout] --> src/circuit/test/mod.rs:264:20 [INFO] [stdout] | [INFO] [stdout] 264 | if set.get(&inp.1).is_none() { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!set.contains(&inp.1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] = note: `#[warn(clippy::unnecessary_get_then_check)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:265:17 [INFO] [stdout] | [INFO] [stdout] 265 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 265 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 265 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:267:17 [INFO] [stdout] | [INFO] [stdout] 267 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 267 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 267 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&inp.1).is_none()` [INFO] [stdout] --> src/circuit/test/mod.rs:272:20 [INFO] [stdout] | [INFO] [stdout] 272 | if set.get(&inp.1).is_none() { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!set.contains(&inp.1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:273:17 [INFO] [stdout] | [INFO] [stdout] 273 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 273 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 273 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:275:17 [INFO] [stdout] | [INFO] [stdout] 275 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 275 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 275 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/test/mod.rs:308:13 [INFO] [stdout] | [INFO] [stdout] 308 | for &(ref a, ref b, ref c, ref path) in &self.constraints { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 308 - for &(ref a, ref b, ref c, ref path) in &self.constraints { [INFO] [stdout] 308 + for (a, b, c, path) in &self.constraints { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/circuit/test/mod.rs:316:29 [INFO] [stdout] | [INFO] [stdout] 316 | return Some(&*path) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 316 - return Some(&*path) [INFO] [stdout] 316 + return Some(path) [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 316 | return Some(&**path) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/test/mod.rs:336:18 [INFO] [stdout] | [INFO] [stdout] 336 | Some(&NamedObject::Var(ref v)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 336 - Some(&NamedObject::Var(ref v)) => { [INFO] [stdout] 336 + Some(NamedObject::Var(v)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/circuit/test/mod.rs:358:9 [INFO] [stdout] | [INFO] [stdout] 358 | 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] 358 - return true; [INFO] [stdout] 358 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/test/mod.rs:377:18 [INFO] [stdout] | [INFO] [stdout] 377 | Some(&NamedObject::Var(ref v)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 377 - Some(&NamedObject::Var(ref v)) => { [INFO] [stdout] 377 + Some(NamedObject::Var(v)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/test/mod.rs:405:31 [INFO] [stdout] | [INFO] [stdout] 405 | for ns in ns.iter().chain(Some(&this).into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 405 - for ns in ns.iter().chain(Some(&this).into_iter()) [INFO] [stdout] 405 + for ns in ns.iter().chain(Some(&this)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/boolean.rs:329:26 [INFO] [stdout] | [INFO] [stdout] 329 | Ok(v.into_iter().map(|e| Boolean::from(e)).collect()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/circuit/boolean.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | / match *self { [INFO] [stdout] 390 | | Boolean::Constant(_) => true, [INFO] [stdout] 391 | | _ => false [INFO] [stdout] 392 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 389 - match *self { [INFO] [stdout] 390 - Boolean::Constant(_) => true, [INFO] [stdout] 391 - _ => false [INFO] [stdout] 392 - } [INFO] [stdout] 389 + matches!(*self, Boolean::Constant(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/boolean.rs:453:9 [INFO] [stdout] | [INFO] [stdout] 453 | / match self { [INFO] [stdout] 454 | | &Boolean::Constant(c) => Some(c), [INFO] [stdout] 455 | | &Boolean::Is(ref v) => v.get_value(), [INFO] [stdout] 456 | | &Boolean::Not(ref v) => v.get_value().map(|b| !b) [INFO] [stdout] 457 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 453 ~ match *self { [INFO] [stdout] 454 ~ Boolean::Constant(c) => Some(c), [INFO] [stdout] 455 ~ Boolean::Is(ref v) => v.get_value(), [INFO] [stdout] 456 ~ Boolean::Not(ref v) => v.get_value().map(|b| !b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:455:13 [INFO] [stdout] | [INFO] [stdout] 455 | &Boolean::Is(ref v) => v.get_value(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 455 - &Boolean::Is(ref v) => v.get_value(), [INFO] [stdout] 455 + Boolean::Is(v) => v.get_value(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:456:13 [INFO] [stdout] | [INFO] [stdout] 456 | &Boolean::Not(ref v) => v.get_value().map(|b| !b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 456 - &Boolean::Not(ref v) => v.get_value().map(|b| !b) [INFO] [stdout] 456 + Boolean::Not(v) => v.get_value().map(|b| !b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/boolean.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 466 | / match self { [INFO] [stdout] 467 | | &Boolean::Constant(c) => { [INFO] [stdout] 468 | | if c { [INFO] [stdout] 469 | | LinearCombination::::zero() + (coeff, one) [INFO] [stdout] ... | [INFO] [stdout] 480 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 466 ~ match *self { [INFO] [stdout] 467 ~ Boolean::Constant(c) => { [INFO] [stdout] 468 | if c { [INFO] [stdout] ... [INFO] [stdout] 473 | }, [INFO] [stdout] 474 ~ Boolean::Is(ref v) => { [INFO] [stdout] 475 | LinearCombination::::zero() + (coeff, v.get_variable()) [INFO] [stdout] 476 | }, [INFO] [stdout] 477 ~ Boolean::Not(ref v) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:474:13 [INFO] [stdout] | [INFO] [stdout] 474 | &Boolean::Is(ref v) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 474 - &Boolean::Is(ref v) => { [INFO] [stdout] 474 + Boolean::Is(v) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | &Boolean::Not(ref v) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 477 - &Boolean::Not(ref v) => { [INFO] [stdout] 477 + Boolean::Not(v) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/boolean.rs:490:9 [INFO] [stdout] | [INFO] [stdout] 490 | / match self { [INFO] [stdout] 491 | | &Boolean::Constant(c) => Boolean::Constant(!c), [INFO] [stdout] 492 | | &Boolean::Is(ref v) => Boolean::Not(v.clone()), [INFO] [stdout] 493 | | &Boolean::Not(ref v) => Boolean::Is(v.clone()) [INFO] [stdout] 494 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 490 ~ match *self { [INFO] [stdout] 491 ~ Boolean::Constant(c) => Boolean::Constant(!c), [INFO] [stdout] 492 ~ Boolean::Is(ref v) => Boolean::Not(v.clone()), [INFO] [stdout] 493 ~ Boolean::Not(ref v) => Boolean::Is(v.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:492:13 [INFO] [stdout] | [INFO] [stdout] 492 | &Boolean::Is(ref v) => Boolean::Not(v.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 492 - &Boolean::Is(ref v) => Boolean::Not(v.clone()), [INFO] [stdout] 492 + Boolean::Is(v) => Boolean::Not(v.clone()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:493:13 [INFO] [stdout] | [INFO] [stdout] 493 | &Boolean::Not(ref v) => Boolean::Is(v.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 493 - &Boolean::Not(ref v) => Boolean::Is(v.clone()) [INFO] [stdout] 493 + Boolean::Not(v) => Boolean::Is(v.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:543:14 [INFO] [stdout] | [INFO] [stdout] 543 | (&Boolean::Not(ref a), &Boolean::Not(ref b)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 543 - (&Boolean::Not(ref a), &Boolean::Not(ref b)) => { [INFO] [stdout] 543 + (Boolean::Not(a), &Boolean::Not(ref b)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:543:36 [INFO] [stdout] | [INFO] [stdout] 543 | (&Boolean::Not(ref a), &Boolean::Not(ref b)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 543 - (&Boolean::Not(ref a), &Boolean::Not(ref b)) => { [INFO] [stdout] 543 + (&Boolean::Not(ref a), Boolean::Not(b)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:547:14 [INFO] [stdout] | [INFO] [stdout] 547 | (&Boolean::Is(ref a), &Boolean::Is(ref b)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 547 - (&Boolean::Is(ref a), &Boolean::Is(ref b)) => { [INFO] [stdout] 547 + (Boolean::Is(a), &Boolean::Is(ref b)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:547:35 [INFO] [stdout] | [INFO] [stdout] 547 | (&Boolean::Is(ref a), &Boolean::Is(ref b)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 547 - (&Boolean::Is(ref a), &Boolean::Is(ref b)) => { [INFO] [stdout] 547 + (&Boolean::Is(ref a), Boolean::Is(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/circuit/boolean.rs:596:21 [INFO] [stdout] | [INFO] [stdout] 596 | &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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/boolean.rs:606:21 [INFO] [stdout] | [INFO] [stdout] 606 | &a, [INFO] [stdout] | ^^ help: change this to: `a` [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/circuit/boolean.rs:607:21 [INFO] [stdout] | [INFO] [stdout] 607 | &b [INFO] [stdout] | ^^ help: change this to: `b` [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/circuit/boolean.rs:619:21 [INFO] [stdout] | [INFO] [stdout] 619 | &a, [INFO] [stdout] | ^^ help: change this to: `a` [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 borrowed expression implements the required traits [INFO] [stdout] --> src/circuit/multieq.rs:67:55 [INFO] [stdout] | [INFO] [stdout] 67 | let coeff = E::Fr::from_str("2").unwrap().pow(&[self.bits_used as u64]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `[self.bits_used as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | value.as_mut().map(|v| *v <<= 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 102 - value.as_mut().map(|v| *v <<= 1); [INFO] [stdout] 102 + if let Some(v) = value.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:105:33 [INFO] [stdout] | [INFO] [stdout] 105 | Some(true) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 105 - Some(true) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] 105 + Some(true) => { if let Some(v) = value.as_mut() { ... } }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | value.as_mut().map(|v| *v <<= 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 133 - value.as_mut().map(|v| *v <<= 1); [INFO] [stdout] 133 + if let Some(v) = value.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/uint32.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | / match b { [INFO] [stdout] 136 | | &Boolean::Constant(b) => { [INFO] [stdout] 137 | | if b { [INFO] [stdout] 138 | | value.as_mut().map(|v| *v |= 1); [INFO] [stdout] ... | [INFO] [stdout] 155 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 135 ~ match *b { [INFO] [stdout] 136 ~ Boolean::Constant(b) => { [INFO] [stdout] 137 | if b { [INFO] [stdout] ... [INFO] [stdout] 140 | }, [INFO] [stdout] 141 ~ Boolean::Is(ref b) => { [INFO] [stdout] 142 | match b.get_value() { [INFO] [stdout] ... [INFO] [stdout] 147 | }, [INFO] [stdout] 148 ~ Boolean::Not(ref b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | value.as_mut().map(|v| *v |= 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 138 - value.as_mut().map(|v| *v |= 1); [INFO] [stdout] 138 + if let Some(v) = value.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | &Boolean::Is(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 141 - &Boolean::Is(ref b) => { [INFO] [stdout] 141 + Boolean::Is(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:143:41 [INFO] [stdout] | [INFO] [stdout] 143 | Some(true) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 143 - Some(true) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] 143 + Some(true) => { if let Some(v) = value.as_mut() { ... } }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:148:17 [INFO] [stdout] | [INFO] [stdout] 148 | &Boolean::Not(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 148 - &Boolean::Not(ref b) => { [INFO] [stdout] 148 + Boolean::Not(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:150:42 [INFO] [stdout] | [INFO] [stdout] 150 | Some(false) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 150 - Some(false) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] 150 + Some(false) => { if let Some(v) = value.as_mut() { ... } }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `modular_value` after checking its variant with `is_some` [INFO] [stdout] --> src/circuit/uint32.rs:373:40 [INFO] [stdout] | [INFO] [stdout] 369 | if all_constants && modular_value.is_some() { [INFO] [stdout] | ----------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 373 | return Ok(UInt32::constant(modular_value.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: usage of a legacy numeric method [INFO] [stdout] --> src/circuit/uint32.rs:329:56 [INFO] [stdout] | [INFO] [stdout] 329 | let mut max_value = (operands.len() as u64) * (u32::max_value() as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 329 - let mut max_value = (operands.len() as u64) * (u32::max_value() as u64); [INFO] [stdout] 329 + let mut max_value = (operands.len() as u64) * (u32::MAX as u64); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:345:21 [INFO] [stdout] | [INFO] [stdout] 345 | result_value.as_mut().map(|v| *v += val as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 345 - result_value.as_mut().map(|v| *v += val as u64); [INFO] [stdout] 345 + if let Some(v) = result_value.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/circuit/blake2s.rs:93:1 [INFO] [stdout] | [INFO] [stdout] 93 | / fn mixing_g, M>( [INFO] [stdout] 94 | | mut cs: M, [INFO] [stdout] 95 | | v: &mut [UInt32], [INFO] [stdout] 96 | | a: usize, [INFO] [stdout] ... | [INFO] [stdout] 102 | | ) -> Result<(), SynthesisError> [INFO] [stdout] 103 | | where M: ConstraintSystem> [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: usage of a legacy numeric method [INFO] [stdout] --> src/circuit/blake2s.rs:202:75 [INFO] [stdout] | [INFO] [stdout] 202 | v[14] = v[14].xor(cs.namespace(|| "third xor"), &UInt32::constant(u32::max_value()))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 202 - v[14] = v[14].xor(cs.namespace(|| "third xor"), &UInt32::constant(u32::max_value()))?; [INFO] [stdout] 202 + v[14] = v[14].xor(cs.namespace(|| "third xor"), &UInt32::constant(u32::MAX))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/blake2s.rs:271:13 [INFO] [stdout] | [INFO] [stdout] 271 | assert!(input.len() % 8 == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `input.len().is_multiple_of(8)` [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: length comparison to zero [INFO] [stdout] --> src/circuit/blake2s.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 302 | if blocks.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `blocks.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/circuit/num.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | assert!(v.len() > 0); [INFO] [stdout] | ^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!v.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/num.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | a_bit.map(|e| assert!(!e)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 149 - a_bit.map(|e| assert!(!e)); [INFO] [stdout] 149 + if let Some(e) = a_bit { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/circuit/num.rs:164:20 [INFO] [stdout] | [INFO] [stdout] 164 | if current_run.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!current_run.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/num.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | &last_run.as_ref().expect("char always starts with a one") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `last_run.as_ref().expect("char always starts with a one")` [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: redundant closure [INFO] [stdout] --> src/circuit/num.rs:220:35 [INFO] [stdout] | [INFO] [stdout] 220 | Ok(result.into_iter().map(|b| Boolean::from(b)).rev().collect()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/num.rs:255:33 [INFO] [stdout] | [INFO] [stdout] 255 | Ok(bits.into_iter().map(|b| Boolean::from(b)).collect()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/circuit/num.rs:556:32 [INFO] [stdout] | [INFO] [stdout] 556 | tmp.mul_assign(&(*delta_inv.get_value().get()?)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `delta_inv.get_value().get()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(var).is_some()` [INFO] [stdout] --> src/circuit/num.rs:785:29 [INFO] [stdout] | [INFO] [stdout] 785 | if final_coeffs.get(var).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(var)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/num.rs:787:47 [INFO] [stdout] | [INFO] [stdout] 787 | existing_coeff.add_assign(&coeff); [INFO] [stdout] | ^^^^^^ help: change this to: `coeff` [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: unnecessary use of `get(var).is_some()` [INFO] [stdout] --> src/circuit/num.rs:795:29 [INFO] [stdout] | [INFO] [stdout] 795 | if final_coeffs.get(var).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(var)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/num.rs:797:47 [INFO] [stdout] | [INFO] [stdout] 797 | existing_coeff.add_assign(&coeff); [INFO] [stdout] | ^^^^^^ help: change this to: `coeff` [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: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/baby_ecc.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | let chunk_a = chunk.get(0).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(0).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `chunk.get(0)` [INFO] [stdout] --> src/circuit/baby_ecc.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | let chunk_a = chunk.get(0).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `chunk.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/baby_ecc.rs:59:23 [INFO] [stdout] | [INFO] [stdout] 59 | let chunk_b = chunk.get(1).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(1).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/baby_ecc.rs:60:23 [INFO] [stdout] | [INFO] [stdout] 60 | let chunk_c = chunk.get(2).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(2).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/ecc.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | let chunk_a = chunk.get(0).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(0).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `chunk.get(0)` [INFO] [stdout] --> src/circuit/ecc.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | let chunk_a = chunk.get(0).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `chunk.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/ecc.rs:59:23 [INFO] [stdout] | [INFO] [stdout] 59 | let chunk_b = chunk.get(1).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(1).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/ecc.rs:60:23 [INFO] [stdout] | [INFO] [stdout] 60 | let chunk_c = chunk.get(2).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(2).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/pedersen_hash.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | .map(|e| Boolean::constant(e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::constant` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/circuit/pedersen_hash.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | if segment_windows.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `segment_windows.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/baby_pedersen_hash.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | .map(|e| Boolean::constant(e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::constant` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/circuit/baby_pedersen_hash.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | if segment_windows.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `segment_windows.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/sha256.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | &input, [INFO] [stdout] | ^^^^^^ help: change this to: `input` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/sha256.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | assert!(input.len() % 8 == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `input.len().is_multiple_of(8)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/sha256.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | while (padded.len() + 64) % 512 != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!(padded.len() + 64).is_multiple_of(512)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/sha256.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | assert!(padded.len() % 512 == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `padded.len().is_multiple_of(512)` [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: redundant closure [INFO] [stdout] --> src/circuit/sha256.rs:92:27 [INFO] [stdout] | [INFO] [stdout] 92 | .map(|e| UInt32::from_bits_be(e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `UInt32::from_bits_be` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/circuit/sha256.rs:155:37 [INFO] [stdout] | [INFO] [stdout] 155 | v.extend(others.into_iter().cloned()); [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/circuit/baby_eddsa.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | return 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] 138 - return Ok(()); [INFO] [stdout] 138 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/baby_eddsa.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | ¶ms [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:91:26 [INFO] [stdout] | [INFO] [stdout] 91 | hash_bits.extend(r_x_serialized.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 91 - hash_bits.extend(r_x_serialized.into_iter()); [INFO] [stdout] 91 + hash_bits.extend(r_x_serialized); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/circuit/baby_eddsa.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | return 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] 239 - return Ok(()); [INFO] [stdout] 239 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/baby_eddsa.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | ¶ms [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:185:18 [INFO] [stdout] | [INFO] [stdout] 185 | t.extend(pk_x_serialized.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 185 - t.extend(pk_x_serialized.into_iter()); [INFO] [stdout] 185 + t.extend(pk_x_serialized); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:188:26 [INFO] [stdout] | [INFO] [stdout] 188 | hash_bits.extend(le_bits_into_le_bytes(t).into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 188 - hash_bits.extend(le_bits_into_le_bytes(t).into_iter()); [INFO] [stdout] 188 + hash_bits.extend(le_bits_into_le_bytes(t)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:191:18 [INFO] [stdout] | [INFO] [stdout] 191 | t.extend(r_x_serialized.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 191 - t.extend(r_x_serialized.into_iter()); [INFO] [stdout] 191 + t.extend(r_x_serialized); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:194:26 [INFO] [stdout] | [INFO] [stdout] 194 | hash_bits.extend(le_bits_into_le_bytes(t).into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 194 - hash_bits.extend(le_bits_into_le_bytes(t).into_iter()); [INFO] [stdout] 194 + hash_bits.extend(le_bits_into_le_bytes(t)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/circuit/baby_eddsa.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | return 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] 328 - return Ok(()); [INFO] [stdout] 328 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/baby_eddsa.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | ¶ms [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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 `bits` [INFO] [stdout] --> src/circuit/float_point.rs:40:14 [INFO] [stdout] | [INFO] [stdout] 40 | for i in 0..exponent_length { [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 and enumerate() [INFO] [stdout] | [INFO] [stdout] 40 - for i in 0..exponent_length { [INFO] [stdout] 40 + for (i, ) in bits.iter().enumerate().take(exponent_length) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/float_point.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | &thisbit [INFO] [stdout] | ^^^^^^^^ help: change this to: `thisbit` [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 only used to index `bits` [INFO] [stdout] --> src/circuit/float_point.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | for i in exponent_length..(exponent_length+mantissa_length) [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] 68 - for i in exponent_length..(exponent_length+mantissa_length) [INFO] [stdout] 68 + for in bits.iter().skip(exponent_length).take(mantissa_length) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/float_point.rs:71:74 [INFO] [stdout] | [INFO] [stdout] 71 | mantissa_result = mantissa_result.add_bool_with_coeff(CS::one(), &thisbit, mantissa_base); [INFO] [stdout] | ^^^^^^^^ help: change this to: `thisbit` [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: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | max_exponent = max_exponent * exponent_base; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_exponent *= exponent_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] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | exponent_temp = exponent_temp / exponent_base; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exponent_temp /= exponent_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: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | exponent_temp = exponent_temp * exponent_base; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exponent_temp *= exponent_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: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | exponent_temp = exponent_temp * exponent_base; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exponent_temp *= exponent_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: the loop variable `i` is only used to index `bitslice` [INFO] [stdout] --> src/circuit/float_point.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | for i in 0..exponent_length [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] 178 - for i in 0..exponent_length [INFO] [stdout] 178 + for in bitslice.iter().take(exponent_length) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/circuit/float_point.rs:181:33 [INFO] [stdout] | [INFO] [stdout] 181 | let max_exponent = (u128::max_value() / exponent_multiplier) + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 181 - let max_exponent = (u128::max_value() / exponent_multiplier) + 1; [INFO] [stdout] 181 + let max_exponent = (u128::MAX / exponent_multiplier) + 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | exponent = exponent * exponent_multiplier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exponent *= exponent_multiplier` [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: usage of a legacy numeric method [INFO] [stdout] --> src/circuit/float_point.rs:190:28 [INFO] [stdout] | [INFO] [stdout] 190 | let mut max_mantissa = u128::max_value(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 190 - let mut max_mantissa = u128::max_value(); [INFO] [stdout] 190 + let mut max_mantissa = u128::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/circuit/float_point.rs:192:25 [INFO] [stdout] | [INFO] [stdout] 192 | max_mantissa = (u128::max_value() / exponent) + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 192 - max_mantissa = (u128::max_value() / exponent) + 1; [INFO] [stdout] 192 + max_mantissa = (u128::MAX / exponent) + 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `bitslice` [INFO] [stdout] --> src/circuit/float_point.rs:197:14 [INFO] [stdout] | [INFO] [stdout] 197 | for i in exponent_length..(exponent_length + mantissa_length) [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] 197 - for i in exponent_length..(exponent_length + mantissa_length) [INFO] [stdout] 197 + for in bitslice.iter().skip(exponent_length).take(mantissa_length) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | mantissa = mantissa + mantissa_power; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mantissa += mantissa_power` [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: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | mantissa_power = mantissa_power * 2u128; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mantissa_power *= 2u128` [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: useless use of `format!` [INFO] [stdout] --> src/circuit/polynomial_lookup.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | cs.namespace(|| format!("0-th power")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"0-th power".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/circuit/polynomial_lookup.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | return Ok(E::Fr::one()); [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 Ok(E::Fr::one()); [INFO] [stdout] 18 + Ok(E::Fr::one()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/polynomial_lookup.rs:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | &base [INFO] [stdout] | ^^^^^ help: change this to: `base` [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 `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/polynomial_lookup.rs:54:48 [INFO] [stdout] | [INFO] [stdout] 54 | num = num.add_number_with_coeff(b, c.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: 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/circuit/poseidon_hash.rs:35:17 [INFO] [stdout] | [INFO] [stdout] 35 | &st [INFO] [stdout] | ^^^ help: change this to: `st` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/poseidon_hash.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | if input.len() % absorbtion_len != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!input.len().is_multiple_of(absorbtion_len)` [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: redundant closure [INFO] [stdout] --> src/circuit/poseidon_hash.rs:412:30 [INFO] [stdout] | [INFO] [stdout] 412 | Ok(state.into_iter().map(|el| Num::from(el)).collect()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Num::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | &leaf, [INFO] [stdout] | ^^^^^ help: change this to: `leaf` [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 `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/circuit/merkle.rs:150:48 [INFO] [stdout] | [INFO] [stdout] 150 | for (i, direction_bit) in path.clone().into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | &direction_bit [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `direction_bit` [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/circuit/merkle.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | &root [INFO] [stdout] | ^^^^^ help: change this to: `root` [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 `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/circuit/merkle.rs:205:48 [INFO] [stdout] | [INFO] [stdout] 205 | for (i, direction_bit) in path.clone().into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:221:17 [INFO] [stdout] | [INFO] [stdout] 221 | &direction_bit [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `direction_bit` [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/circuit/merkle.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | &audit_path_0, [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `audit_path_0` [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/circuit/merkle.rs:269:13 [INFO] [stdout] | [INFO] [stdout] 269 | &audit_path_1 [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `audit_path_1` [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 `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/circuit/merkle.rs:274:100 [INFO] [stdout] | [INFO] [stdout] 274 | for (i, ((direction_bit_0, direction_bit_1), intersection_bit)) in path_bits_0.clone().into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/circuit/merkle.rs:275:118 [INFO] [stdout] | [INFO] [stdout] 275 | ... .zip(path_bits_1.clone().into_iter()) [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/merkle.rs:275:98 [INFO] [stdout] | [INFO] [stdout] 275 | ... .zip(path_bits_1.clone().into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 275 - .zip(path_bits_1.clone().into_iter()) [INFO] [stdout] 275 + .zip(&*path_bits_1.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/merkle.rs:276:98 [INFO] [stdout] | [INFO] [stdout] 276 | ... .zip(intersection_point_bits.into_iter()).enumerate() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 276 - .zip(intersection_point_bits.into_iter()).enumerate() [INFO] [stdout] 276 + .zip(intersection_point_bits).enumerate() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:300:21 [INFO] [stdout] | [INFO] [stdout] 300 | &direction_bit_0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `direction_bit_0` [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/circuit/merkle.rs:316:21 [INFO] [stdout] | [INFO] [stdout] 316 | &direction_bit_1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `direction_bit_1` [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/circuit/merkle.rs:374:13 [INFO] [stdout] | [INFO] [stdout] 374 | &a_bit, [INFO] [stdout] | ^^^^^^ help: change this to: `a_bit` [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/circuit/merkle.rs:375:13 [INFO] [stdout] | [INFO] [stdout] 375 | &b_bit [INFO] [stdout] | ^^^^^^ help: change this to: `b_bit` [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/circuit/merkle.rs:512:50 [INFO] [stdout] | [INFO] [stdout] 512 | num = num.add_bool_with_coeff(CS::one(), &bit, coeff); [INFO] [stdout] | ^^^^ help: change this to: `bit` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/merkle.rs:542:17 [INFO] [stdout] | [INFO] [stdout] 542 | assert!(height % bits_per_level == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `height.is_multiple_of(bits_per_level)` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:596:13 [INFO] [stdout] | [INFO] [stdout] 596 | &msb [INFO] [stdout] | ^^^^ help: change this to: `msb` [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/circuit/merkle.rs:602:13 [INFO] [stdout] | [INFO] [stdout] 602 | &lsb, [INFO] [stdout] | ^^^^ help: change this to: `lsb` [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/circuit/merkle.rs:603:13 [INFO] [stdout] | [INFO] [stdout] 603 | &msb [INFO] [stdout] | ^^^^ help: change this to: `msb` [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/circuit/merkle.rs:629:13 [INFO] [stdout] | [INFO] [stdout] 629 | &leaf [INFO] [stdout] | ^^^^^ help: change this to: `leaf` [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/circuit/merkle.rs:652:13 [INFO] [stdout] | [INFO] [stdout] 652 | &children, [INFO] [stdout] | ^^^^^^^^^ help: change this to: `children` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/merkle.rs:702:17 [INFO] [stdout] | [INFO] [stdout] 702 | assert!(path.len() % self.path_bits_per_level() == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `path.len().is_multiple_of(self.path_bits_per_level())` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:714:47 [INFO] [stdout] | [INFO] [stdout] 714 | path_to_shuffle.extend_from_slice(&path_elements); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `path_elements` [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/circuit/merkle.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 763 | &root [INFO] [stdout] | ^^^^^ help: change this to: `root` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/merkle.rs:786:17 [INFO] [stdout] | [INFO] [stdout] 786 | assert!(path.len() % self.path_bits_per_level() == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `path.len().is_multiple_of(self.path_bits_per_level())` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:798:47 [INFO] [stdout] | [INFO] [stdout] 798 | path_to_shuffle.extend_from_slice(&path_elements); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `path_elements` [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 `::Fs` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/sapling/mod.rs:184:60 [INFO] [stdout] | [INFO] [stdout] 184 | self.proof_generation_key.as_ref().map(|k| k.nsk.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `k.nsk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/circuit/sprout/prfs.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / let mut image = vec![]; [INFO] [stdout] 25 | | image.push(Boolean::constant(a)); [INFO] [stdout] 26 | | image.push(Boolean::constant(b)); [INFO] [stdout] 27 | | image.push(Boolean::constant(c)); [INFO] [stdout] 28 | | image.push(Boolean::constant(d)); [INFO] [stdout] | |_____________________________________^ help: consider using the `vec![]` macro: `let mut image = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/circuit/sprout/commitment.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / let mut image = vec![]; [INFO] [stdout] 25 | | image.push(Boolean::constant(true)); [INFO] [stdout] 26 | | image.push(Boolean::constant(false)); [INFO] [stdout] 27 | | image.push(Boolean::constant(true)); [INFO] [stdout] ... | [INFO] [stdout] 31 | | image.push(Boolean::constant(false)); [INFO] [stdout] 32 | | image.push(Boolean::constant(false)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let mut image = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/circuit/sprout/input.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | / pub fn compute( [INFO] [stdout] 22 | | mut cs: CS, [INFO] [stdout] 23 | | a_sk: Option, [INFO] [stdout] 24 | | rho: Option, [INFO] [stdout] ... | [INFO] [stdout] 31 | | ) -> Result [INFO] [stdout] 32 | | where E: Engine, CS: ConstraintSystem [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: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/sprout/input.rs:89:37 [INFO] [stdout] | [INFO] [stdout] 89 | layer.as_ref().map(|&(ref sibling, _)| &sibling[..]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 89 - layer.as_ref().map(|&(ref sibling, _)| &sibling[..]) [INFO] [stdout] 89 + layer.as_ref().map(|(sibling, _)| &sibling[..]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/circuit/sprout/output.rs:14:20 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn compute<'a, E, CS>( [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/sprout/mod.rs:278:23 [INFO] [stdout] | [INFO] [stdout] 278 | .map(|e| Boolean::from(e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/baby_pedersen_hash.rs:32:65 [INFO] [stdout] | [INFO] [stdout] 32 | let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 32 - let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] 32 + let mut bits = personalization.get_bits().into_iter().chain(bits); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/baby_pedersen_hash.rs:82:55 [INFO] [stdout] | [INFO] [stdout] 82 | let mut table: &[Vec>] = &generators.next().expect("we don't have enough generators"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `generators.next().expect("we don't have enough generators")` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/pedersen_hash.rs:32:65 [INFO] [stdout] | [INFO] [stdout] 32 | let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 32 - let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] 32 + let mut bits = personalization.get_bits().into_iter().chain(bits); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pedersen_hash.rs:82:55 [INFO] [stdout] | [INFO] [stdout] 82 | let mut table: &[Vec>] = &generators.next().expect("we don't have enough generators"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `generators.next().expect("we don't have enough generators")` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/pedersen_hash.rs:115:65 [INFO] [stdout] | [INFO] [stdout] 115 | let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 115 - let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] 115 + let mut bits = personalization.get_bits().into_iter().chain(bits); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pedersen_hash.rs:165:55 [INFO] [stdout] | [INFO] [stdout] 165 | let mut table: &[Vec>] = &generators.next().expect("we don't have enough generators"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `generators.next().expect("we don't have enough generators")` [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 borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/primitives/mod.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | (&mut note_contents).write_u64::(self.value).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `note_contents` [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/eddsa.rs:115:42 [INFO] [stdout] | [INFO] [stdout] 115 | let pk = PublicKey::from_private(&self, p_g, params); [INFO] [stdout] | ^^^^^ help: change this to: `self` [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: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:131:43 [INFO] [stdout] | [INFO] [stdout] 131 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] = note: `#[warn(clippy::iter_cloned_collect)]` 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/eddsa.rs:165:42 [INFO] [stdout] | [INFO] [stdout] 165 | let pk = PublicKey::from_private(&self, p_g, params); [INFO] [stdout] | ^^^^^ help: change this to: `self` [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: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:183:48 [INFO] [stdout] | [INFO] [stdout] 183 | let concatenated: Vec = r_g_x_bytes.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:185:43 [INFO] [stdout] | [INFO] [stdout] 185 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/eddsa.rs:216:42 [INFO] [stdout] | [INFO] [stdout] 216 | let pk = PublicKey::from_private(&self, p_g, params); [INFO] [stdout] | ^^^^^ help: change this to: `self` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/eddsa.rs:239:29 [INFO] [stdout] | [INFO] [stdout] 239 | concatenated.extend(r_g_x_bytes.as_ref().to_vec().into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 239 - concatenated.extend(r_g_x_bytes.as_ref().to_vec().into_iter()); [INFO] [stdout] 239 + concatenated.extend(r_g_x_bytes.as_ref().to_vec()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:241:43 [INFO] [stdout] | [INFO] [stdout] 241 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/eddsa.rs:270:42 [INFO] [stdout] | [INFO] [stdout] 270 | let pk = PublicKey::from_private(&self, p_g, params); [INFO] [stdout] | ^^^^^ help: change this to: `self` [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: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:396:43 [INFO] [stdout] | [INFO] [stdout] 396 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:439:48 [INFO] [stdout] | [INFO] [stdout] 439 | let concatenated: Vec = r_g_x_bytes.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:441:43 [INFO] [stdout] | [INFO] [stdout] 441 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/eddsa.rs:492:29 [INFO] [stdout] | [INFO] [stdout] 492 | concatenated.extend(r_g_x_bytes.as_ref().to_vec().into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 492 - concatenated.extend(r_g_x_bytes.as_ref().to_vec().into_iter()); [INFO] [stdout] 492 + concatenated.extend(r_g_x_bytes.as_ref().to_vec()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:494:43 [INFO] [stdout] | [INFO] [stdout] 494 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interpolation.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | diff.sub_assign(&x_j); [INFO] [stdout] | ^^^^ help: change this to: `x_j` [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/interpolation.rs:36:92 [INFO] [stdout] | [INFO] [stdout] 36 | contribution.get_mut(0).expect("must have enough coefficients").sub_assign(&x_j); [INFO] [stdout] | ^^^^ help: change this to: `x_j` [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/interpolation.rs:41:36 [INFO] [stdout] | [INFO] [stdout] 41 | tmp.mul_assign(&x_j); [INFO] [stdout] | ^^^^ help: change this to: `x_j` [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/interpolation.rs:53:34 [INFO] [stdout] | [INFO] [stdout] 53 | c.add_assign(&other); [INFO] [stdout] | ^^^^^^ help: change this to: `other` [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/interpolation.rs:63:28 [INFO] [stdout] | [INFO] [stdout] 63 | tmp.mul_assign(&y_k); [INFO] [stdout] | ^^^^ help: change this to: `y_k` [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 `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/interpolation.rs:79:23 [INFO] [stdout] | [INFO] [stdout] 79 | let mut tmp = c.clone(); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: 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/interpolation.rs:83:24 [INFO] [stdout] | [INFO] [stdout] 83 | pow.mul_assign(&x); [INFO] [stdout] | ^^ help: change this to: `x` [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: usage of a legacy numeric constant [INFO] [stdout] --> src/as_waksman.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | const EMPTY_STATE: usize = std::usize::MAX; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 5 - const EMPTY_STATE: usize = std::usize::MAX; [INFO] [stdout] 5 + const EMPTY_STATE: usize = usize::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/as_waksman.rs:100:33 [INFO] [stdout] | [INFO] [stdout] 100 | subdestinations[(top_idx as usize) - low] = idx; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `top_idx` [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/as_waksman.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | subdestinations[(bottom_idx as usize) - low] = idx + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `bottom_idx` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/as_waksman.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | assert!(relative_position % 2 == 0 && relative_position + 1 < size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `relative_position.is_multiple_of(2)` [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: length comparison to zero [INFO] [stdout] --> src/as_waksman.rs:240:12 [INFO] [stdout] | [INFO] [stdout] 240 | if self.elements.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.elements.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/as_waksman.rs:285:20 [INFO] [stdout] | [INFO] [stdout] 285 | let mask = std::usize::MAX - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 285 - let mask = std::usize::MAX - 1; [INFO] [stdout] 285 + let mask = usize::MAX - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&lhs_switch).is_none()` [INFO] [stdout] --> src/as_waksman.rs:424:39 [INFO] [stdout] | [INFO] [stdout] 424 | if switches[left].get(&lhs_switch).is_none() [INFO] [stdout] | ---------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!switches[left].contains_key(&lhs_switch)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&rhs_switch).is_none()` [INFO] [stdout] --> src/as_waksman.rs:450:49 [INFO] [stdout] | [INFO] [stdout] 450 | assert!(switches[right].get(&rhs_switch).is_none()); [INFO] [stdout] | ----------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!switches[right].contains_key(&rhs_switch)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&rhs_switch).is_some()` [INFO] [stdout] --> src/as_waksman.rs:471:45 [INFO] [stdout] | [INFO] [stdout] 471 | assert!(switches[right].get(&rhs_switch).is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(&rhs_switch)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/as_waksman.rs:474:101 [INFO] [stdout] | [INFO] [stdout] 474 | ...tom_decision(low, permutation_inversed.get(to_route) as usize, should_use_top); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `permutation_inversed.get(to_route)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/as_waksman.rs:517:16 [INFO] [stdout] | [INFO] [stdout] 517 | if rows_to_generate % 2 == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `rows_to_generate.is_multiple_of(2)` [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: called `unwrap` on `a` after checking its variant with `is_some` [INFO] [stdout] --> src/as_waksman.rs:565:26 [INFO] [stdout] | [INFO] [stdout] 564 | let switch_setting = if a.is_some() { [INFO] [stdout] | -------------- help: try: `if let Some() = a` [INFO] [stdout] 565 | *a.unwrap() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/as_waksman.rs:550:17 [INFO] [stdout] | [INFO] [stdout] 550 | let routed_index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [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 `routed_index` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 550 ~ [INFO] [stdout] 551 ~ let routed_index = if topology.topology[column_idx][packet_idx].0 == topology.topology[column_idx][packet_idx].1 { [INFO] [stdout] 552 | // straight switch [INFO] [stdout] 553 ~ topology.topology[column_idx][packet_idx].0 [INFO] [stdout] 554 | } [INFO] [stdout] ... [INFO] [stdout] 569 | [INFO] [stdout] 570 ~ if switch_setting { [INFO] [stdout] 571 | topology.topology[column_idx][packet_idx].1 [INFO] [stdout] 572 | } else { [INFO] [stdout] 573 | topology.topology[column_idx][packet_idx].0 [INFO] [stdout] 574 ~ } [INFO] [stdout] 575 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::iter::Cloned>` [INFO] [stdout] --> src/as_waksman.rs:601:28 [INFO] [stdout] | [INFO] [stdout] 601 | let mut keys = column.keys().cloned().into_iter().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `column.keys().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::iter::Cloned>` [INFO] [stdout] --> src/as_waksman.rs:615:28 [INFO] [stdout] | [INFO] [stdout] 615 | let mut keys = column.keys().cloned().into_iter().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `column.keys().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `a` after checking its variant with `is_some` [INFO] [stdout] --> src/as_waksman.rs:655:26 [INFO] [stdout] | [INFO] [stdout] 654 | let switch_setting = if a.is_some() { [INFO] [stdout] | -------------- help: try: `if let Some() = a` [INFO] [stdout] 655 | *a.unwrap() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/as_waksman.rs:640:17 [INFO] [stdout] | [INFO] [stdout] 640 | let routed_into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [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 `routed_into` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 640 ~ [INFO] [stdout] 641 ~ let routed_into = if topology.topology[column_idx][packet_idx].0 == topology.topology[column_idx][packet_idx].1 { [INFO] [stdout] 642 | // straight switch [INFO] [stdout] 643 ~ topology.topology[column_idx][packet_idx].0 [INFO] [stdout] 644 | } [INFO] [stdout] ... [INFO] [stdout] 659 | [INFO] [stdout] 660 ~ if switch_setting { [INFO] [stdout] 661 | topology.topology[column_idx][packet_idx].1 [INFO] [stdout] 662 | } else { [INFO] [stdout] 663 | topology.topology[column_idx][packet_idx].0 [INFO] [stdout] 664 ~ } [INFO] [stdout] 665 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `seed` [INFO] [stdout] --> src/poseidon/bn256.rs:122:26 [INFO] [stdout] | [INFO] [stdout] 122 | 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 [INFO] [stdout] | [INFO] [stdout] 122 - for i in 0..8 { [INFO] [stdout] 122 + for in &mut seed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/poseidon/mod.rs:62:24 [INFO] [stdout] | [INFO] [stdout] 62 | tmp.mul_assign(&g); [INFO] [stdout] | ^^ help: change this to: `g` [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/poseidon/mod.rs:80:27 [INFO] [stdout] | [INFO] [stdout] 80 | newtmp.mul_assign(&g); [INFO] [stdout] | ^^ help: change this to: `g` [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 only used to index `x` [INFO] [stdout] --> src/poseidon/mod.rs:304:18 [INFO] [stdout] | [INFO] [stdout] 304 | for i in 0..(t 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] 304 - for i in 0..(t as usize) { [INFO] [stdout] 304 + for in x.iter().take((t as usize)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/circuit/sha256.rs:198:21 [INFO] [stdout] | [INFO] [stdout] 198 | let temp1 = vec![ [INFO] [stdout] | _____________________^ [INFO] [stdout] 199 | | h.clone(), [INFO] [stdout] 200 | | s1, [INFO] [stdout] 201 | | ch, [INFO] [stdout] 202 | | UInt32::constant(ROUND_CONSTANTS[i]), [INFO] [stdout] 203 | | w[i].clone() [INFO] [stdout] 204 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 198 ~ let temp1 = [h.clone(), [INFO] [stdout] 199 + s1, [INFO] [stdout] 200 + ch, [INFO] [stdout] 201 + UInt32::constant(ROUND_CONSTANTS[i]), [INFO] [stdout] 202 ~ w[i].clone()]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/circuit/sha256.rs:227:21 [INFO] [stdout] | [INFO] [stdout] 227 | let temp2 = vec![s0, maj]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[s0, maj]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/jubjub/edwards.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Point` [INFO] [stdout] 35 | pub struct Point { [INFO] [stdout] | ----- `Point` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/jubjub/edwards.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Point` [INFO] [stdout] 35 | pub struct Point { [INFO] [stdout] | ----- `Point` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/circuit/merkle.rs:150:39 [INFO] [stdout] | [INFO] [stdout] 150 | for (i, direction_bit) in path.clone().into_iter() [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[circuit::boolean::Boolean]` does not implement `Clone`, so calling `clone` on `&[circuit::boolean::Boolean]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/circuit/merkle.rs:205:39 [INFO] [stdout] | [INFO] [stdout] 205 | for (i, direction_bit) in path.clone().into_iter() [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[circuit::boolean::Boolean]` does not implement `Clone`, so calling `clone` on `&[circuit::boolean::Boolean]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/circuit/merkle.rs:274:91 [INFO] [stdout] | [INFO] [stdout] 274 | for (i, ((direction_bit_0, direction_bit_1), intersection_bit)) in path_bits_0.clone().into_iter() [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[circuit::boolean::Boolean]` does not implement `Clone`, so calling `clone` on `&[circuit::boolean::Boolean]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/circuit/merkle.rs:275:109 [INFO] [stdout] | [INFO] [stdout] 275 | ... .zip(path_bits_1.clone().into_iter()) [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[circuit::boolean::Boolean]` does not implement `Clone`, so calling `clone` on `&[circuit::boolean::Boolean]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> examples/bench.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | auth_path: auth_path, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `auth_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fs` which implements the `Copy` trait [INFO] [stdout] --> examples/bench.rs:59:18 [INFO] [stdout] | [INFO] [stdout] 59 | nsk: nsk.clone() [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nsk` [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: value assigned to `round` is never read [INFO] [stdout] --> src/circuit/poseidon_hash.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/circuit/poseidon_hash.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/circuit/poseidon_hash.rs:402:9 [INFO] [stdout] | [INFO] [stdout] 402 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/circuit/poseidon_hash.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 360 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/circuit/poseidon_hash.rs:306:9 [INFO] [stdout] | [INFO] [stdout] 306 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/poseidon/mod.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 230 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/poseidon/mod.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `round` is never read [INFO] [stdout] --> src/poseidon/mod.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | round += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/babyjubjub/edwards.rs:450:21 [INFO] [stdout] | [INFO] [stdout] 450 | let mut c = params.edwards_d().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.edwards_d()` [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: unneeded `return` statement [INFO] [stdout] --> src/babyjubjub/montgomery.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | / return Some(Point { [INFO] [stdout] 89 | | x: x, [INFO] [stdout] 90 | | y: y, [INFO] [stdout] 91 | | infinity: false, [INFO] [stdout] 92 | | _marker: PhantomData [INFO] [stdout] 93 | | }) [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] 88 ~ Some(Point { [INFO] [stdout] 89 + x: x, [INFO] [stdout] 90 + y: y, [INFO] [stdout] 91 + infinity: false, [INFO] [stdout] 92 + _marker: PhantomData [INFO] [stdout] 93 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/babyjubjub/montgomery.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | / match Self::get_for_x(x, rng.gen(), params) { [INFO] [stdout] 116 | | Some(p) => { [INFO] [stdout] 117 | | return p [INFO] [stdout] 118 | | }, [INFO] [stdout] 119 | | None => {} [INFO] [stdout] 120 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 115 ~ if let Some(p) = Self::get_for_x(x, rng.gen(), params) { [INFO] [stdout] 116 + return p [INFO] [stdout] 117 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/babyjubjub/montgomery.rs:248:27 [INFO] [stdout] | [INFO] [stdout] 248 | let mut tmp = params.montgomery_a().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.montgomery_a()` [INFO] [stdout] | [INFO] [stdout] = help: 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 integer literal to `u32` is unnecessary [INFO] [stdout] --> src/babyjubjub/fs.rs:228:23 [INFO] [stdout] | [INFO] [stdout] 228 | let mut ret = (4 as u32) * 64; [INFO] [stdout] | ^^^^^^^^^^ help: try: `4_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: this function has too many arguments (9/7) [INFO] [stdout] --> src/babyjubjub/fs.rs:544:5 [INFO] [stdout] | [INFO] [stdout] 544 | / fn mont_reduce( [INFO] [stdout] 545 | | &mut self, [INFO] [stdout] 546 | | r0: u64, [INFO] [stdout] 547 | | mut r1: u64, [INFO] [stdout] ... | [INFO] [stdout] 553 | | mut r7: u64 [INFO] [stdout] 554 | | ) [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/babyjubjub/fs.rs:1153:28 [INFO] [stdout] | [INFO] [stdout] 1153 | let target = a.pow(&[i]); [INFO] [stdout] | ^^^^ help: change this to: `[i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/babyjubjub/tests.rs:184:27 [INFO] [stdout] | [INFO] [stdout] 184 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:184:44 [INFO] [stdout] | [INFO] [stdout] 184 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:184:66 [INFO] [stdout] | [INFO] [stdout] 184 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:184:83 [INFO] [stdout] | [INFO] [stdout] 184 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:194:27 [INFO] [stdout] | [INFO] [stdout] 194 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:194:44 [INFO] [stdout] | [INFO] [stdout] 194 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:194:66 [INFO] [stdout] | [INFO] [stdout] 194 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:194:83 [INFO] [stdout] | [INFO] [stdout] 194 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:205:26 [INFO] [stdout] | [INFO] [stdout] 205 | assert!(z.double(¶ms) == z); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:211:43 [INFO] [stdout] | [INFO] [stdout] 211 | assert!(r.add(&Point::zero(), ¶ms) == r); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:212:40 [INFO] [stdout] | [INFO] [stdout] 212 | assert!(r.add(&r.negate(), ¶ms) == Point::zero()); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:220:26 [INFO] [stdout] | [INFO] [stdout] 220 | assert!(z.double(¶ms) == z); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:226:43 [INFO] [stdout] | [INFO] [stdout] 226 | assert!(r.add(&Point::zero(), ¶ms) == r); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/babyjubjub/tests.rs:227:40 [INFO] [stdout] | [INFO] [stdout] 227 | assert!(r.add(&r.negate(), ¶ms) == Point::zero()); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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 `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/babyjubjub/tests.rs:349:23 [INFO] [stdout] | [INFO] [stdout] 349 | let mut tmp = params.montgomery_a().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.montgomery_a()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/babyjubjub/tests.rs:357:23 [INFO] [stdout] | [INFO] [stdout] 357 | let mut tmp = params.montgomery_a().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.montgomery_a()` [INFO] [stdout] | [INFO] [stdout] = help: 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/babyjubjub/tests.rs:365:24 [INFO] [stdout] | [INFO] [stdout] 365 | tmp.sub_assign(¶ms.edwards_d()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `params.edwards_d()` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/babyjubjub/mod.rs:128:46 [INFO] [stdout] | [INFO] [stdout] 128 | fn pedersen_circuit_generators(&self) -> &[Vec>]; [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: you should consider adding a `Default` implementation for `JubjubBn256` [INFO] [stdout] --> src/babyjubjub/mod.rs:199:5 [INFO] [stdout] | [INFO] [stdout] 199 | / pub fn new() -> Self { [INFO] [stdout] 200 | | let montgomery_a = Fr::from_str("168698").unwrap(); [INFO] [stdout] 201 | | let mut montgomery_2a = montgomery_a; [INFO] [stdout] 202 | | montgomery_2a.double(); [INFO] [stdout] ... | [INFO] [stdout] 417 | | tmp_params [INFO] [stdout] 418 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 198 + impl Default for JubjubBn256 { [INFO] [stdout] 199 + fn default() -> Self { [INFO] [stdout] 200 + Self::new() [INFO] [stdout] 201 + } [INFO] [stdout] 202 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/babyjubjub/mod.rs:242:35 [INFO] [stdout] | [INFO] [stdout] 242 | assert!(tag[i] != u8::max_value()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 242 - assert!(tag[i] != u8::max_value()); [INFO] [stdout] 242 + assert!(tag[i] != u8::MAX); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `cloned` [INFO] [stdout] --> src/babyjubjub/mod.rs:366:24 [INFO] [stdout] | [INFO] [stdout] 366 | for gen in tmp_params.pedersen_hash_generators.iter().cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: remove any references to the binding [INFO] [stdout] | [INFO] [stdout] 366 ~ for gen in tmp_params.pedersen_hash_generators.iter() { [INFO] [stdout] 367 ~ let mut gen = montgomery::Point::from_edwards(gen, &tmp_params); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/jubjub/edwards.rs:499:21 [INFO] [stdout] | [INFO] [stdout] 499 | let mut c = params.edwards_d().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.edwards_d()` [INFO] [stdout] | [INFO] [stdout] = help: 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/jubjub/montgomery.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | / return Some(Point { [INFO] [stdout] 89 | | x: x, [INFO] [stdout] 90 | | y: y, [INFO] [stdout] 91 | | infinity: false, [INFO] [stdout] 92 | | _marker: PhantomData [INFO] [stdout] 93 | | }) [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] 88 ~ Some(Point { [INFO] [stdout] 89 + x: x, [INFO] [stdout] 90 + y: y, [INFO] [stdout] 91 + infinity: false, [INFO] [stdout] 92 + _marker: PhantomData [INFO] [stdout] 93 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/jubjub/montgomery.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | / match Self::get_for_x(x, rng.gen(), params) { [INFO] [stdout] 116 | | Some(p) => { [INFO] [stdout] 117 | | return p [INFO] [stdout] 118 | | }, [INFO] [stdout] 119 | | None => {} [INFO] [stdout] 120 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 115 ~ if let Some(p) = Self::get_for_x(x, rng.gen(), params) { [INFO] [stdout] 116 + return p [INFO] [stdout] 117 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/jubjub/montgomery.rs:248:27 [INFO] [stdout] | [INFO] [stdout] 248 | let mut tmp = params.montgomery_a().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.montgomery_a()` [INFO] [stdout] | [INFO] [stdout] = help: 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 integer literal to `u32` is unnecessary [INFO] [stdout] --> src/jubjub/fs.rs:198:23 [INFO] [stdout] | [INFO] [stdout] 198 | let mut ret = (4 as u32) * 64; [INFO] [stdout] | ^^^^^^^^^^ help: try: `4_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: this function has too many arguments (9/7) [INFO] [stdout] --> src/jubjub/fs.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | / fn mont_reduce( [INFO] [stdout] 515 | | &mut self, [INFO] [stdout] 516 | | r0: u64, [INFO] [stdout] 517 | | mut r1: u64, [INFO] [stdout] ... | [INFO] [stdout] 523 | | mut r7: u64 [INFO] [stdout] 524 | | ) [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/jubjub/fs.rs:1124:28 [INFO] [stdout] | [INFO] [stdout] 1124 | let target = a.pow(&[i]); [INFO] [stdout] | ^^^^ help: change this to: `[i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/jubjub/tests.rs:182:27 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:182:44 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:182:66 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:182:83 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:192:27 [INFO] [stdout] | [INFO] [stdout] 192 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:192:44 [INFO] [stdout] | [INFO] [stdout] 192 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:192:66 [INFO] [stdout] | [INFO] [stdout] 192 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:192:83 [INFO] [stdout] | [INFO] [stdout] 192 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:203:26 [INFO] [stdout] | [INFO] [stdout] 203 | assert!(z.double(¶ms) == z); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:209:43 [INFO] [stdout] | [INFO] [stdout] 209 | assert!(r.add(&Point::zero(), ¶ms) == r); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:210:40 [INFO] [stdout] | [INFO] [stdout] 210 | assert!(r.add(&r.negate(), ¶ms) == Point::zero()); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:218:26 [INFO] [stdout] | [INFO] [stdout] 218 | assert!(z.double(¶ms) == z); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:224:43 [INFO] [stdout] | [INFO] [stdout] 224 | assert!(r.add(&Point::zero(), ¶ms) == r); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/jubjub/tests.rs:225:40 [INFO] [stdout] | [INFO] [stdout] 225 | assert!(r.add(&r.negate(), ¶ms) == Point::zero()); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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 `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/jubjub/tests.rs:348:23 [INFO] [stdout] | [INFO] [stdout] 348 | let mut tmp = params.montgomery_a().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.montgomery_a()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/jubjub/tests.rs:356:23 [INFO] [stdout] | [INFO] [stdout] 356 | let mut tmp = params.montgomery_a().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.montgomery_a()` [INFO] [stdout] | [INFO] [stdout] = help: 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/jubjub/tests.rs:364:24 [INFO] [stdout] | [INFO] [stdout] 364 | tmp.sub_assign(¶ms.edwards_d()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `params.edwards_d()` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/jubjub/mod.rs:125:46 [INFO] [stdout] | [INFO] [stdout] 125 | fn pedersen_circuit_generators(&self) -> &[Vec>]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `JubjubBls12` [INFO] [stdout] --> src/jubjub/mod.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | / pub fn new() -> Self { [INFO] [stdout] 194 | | let montgomery_a = Fr::from_str("40962").unwrap(); [INFO] [stdout] 195 | | let mut montgomery_2a = montgomery_a; [INFO] [stdout] 196 | | montgomery_2a.double(); [INFO] [stdout] ... | [INFO] [stdout] 409 | | tmp_params [INFO] [stdout] 410 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 192 + impl Default for JubjubBls12 { [INFO] [stdout] 193 + fn default() -> Self { [INFO] [stdout] 194 + Self::new() [INFO] [stdout] 195 + } [INFO] [stdout] 196 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/jubjub/mod.rs:234:35 [INFO] [stdout] | [INFO] [stdout] 234 | assert!(tag[i] != u8::max_value()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 234 - assert!(tag[i] != u8::max_value()); [INFO] [stdout] 234 + assert!(tag[i] != u8::MAX); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `cloned` [INFO] [stdout] --> src/jubjub/mod.rs:358:24 [INFO] [stdout] | [INFO] [stdout] 358 | for gen in tmp_params.pedersen_hash_generators.iter().cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] help: remove any references to the binding [INFO] [stdout] | [INFO] [stdout] 358 ~ for gen in tmp_params.pedersen_hash_generators.iter() { [INFO] [stdout] 359 ~ let mut gen = montgomery::Point::from_edwards(gen, &tmp_params); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/alt_babyjubjub/fs.rs:228:23 [INFO] [stdout] | [INFO] [stdout] 228 | let mut ret = (4 as u32) * 64; [INFO] [stdout] | ^^^^^^^^^^ help: try: `4_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: this function has too many arguments (9/7) [INFO] [stdout] --> src/alt_babyjubjub/fs.rs:544:5 [INFO] [stdout] | [INFO] [stdout] 544 | / fn mont_reduce( [INFO] [stdout] 545 | | &mut self, [INFO] [stdout] 546 | | r0: u64, [INFO] [stdout] 547 | | mut r1: u64, [INFO] [stdout] ... | [INFO] [stdout] 553 | | mut r7: u64 [INFO] [stdout] 554 | | ) [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/alt_babyjubjub/fs.rs:1164:28 [INFO] [stdout] | [INFO] [stdout] 1164 | let target = a.pow(&[i]); [INFO] [stdout] | ^^^^ help: change this to: `[i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/alt_babyjubjub/tests.rs:182:27 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:182:44 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:182:66 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:182:83 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:192:27 [INFO] [stdout] | [INFO] [stdout] 192 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:192:44 [INFO] [stdout] | [INFO] [stdout] 192 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:192:66 [INFO] [stdout] | [INFO] [stdout] 192 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:192:83 [INFO] [stdout] | [INFO] [stdout] 192 | assert!(a.add(&b, ¶ms).add(&c, ¶ms) == c.add(&a, ¶ms).add(&b, ¶ms)); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:203:26 [INFO] [stdout] | [INFO] [stdout] 203 | assert!(z.double(¶ms) == z); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:209:43 [INFO] [stdout] | [INFO] [stdout] 209 | assert!(r.add(&Point::zero(), ¶ms) == r); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:210:40 [INFO] [stdout] | [INFO] [stdout] 210 | assert!(r.add(&r.negate(), ¶ms) == Point::zero()); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:218:26 [INFO] [stdout] | [INFO] [stdout] 218 | assert!(z.double(¶ms) == z); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:224:43 [INFO] [stdout] | [INFO] [stdout] 224 | assert!(r.add(&Point::zero(), ¶ms) == r); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/alt_babyjubjub/tests.rs:225:40 [INFO] [stdout] | [INFO] [stdout] 225 | assert!(r.add(&r.negate(), ¶ms) == Point::zero()); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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 `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/alt_babyjubjub/tests.rs:348:23 [INFO] [stdout] | [INFO] [stdout] 348 | let mut tmp = params.montgomery_a().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.montgomery_a()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/alt_babyjubjub/tests.rs:356:23 [INFO] [stdout] | [INFO] [stdout] 356 | let mut tmp = params.montgomery_a().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*params.montgomery_a()` [INFO] [stdout] | [INFO] [stdout] = help: 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/alt_babyjubjub/tests.rs:364:24 [INFO] [stdout] | [INFO] [stdout] 364 | tmp.sub_assign(¶ms.edwards_d()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `params.edwards_d()` [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: you should consider adding a `Default` implementation for `AltJubjubBn256` [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | / pub fn new() -> Self { [INFO] [stdout] 134 | | let montgomery_a = Fr::from_str("168698").unwrap(); [INFO] [stdout] 135 | | let mut montgomery_2a = montgomery_a; [INFO] [stdout] 136 | | montgomery_2a.double(); [INFO] [stdout] ... | [INFO] [stdout] 349 | | tmp_params [INFO] [stdout] 350 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 132 + impl Default for AltJubjubBn256 { [INFO] [stdout] 133 + fn default() -> Self { [INFO] [stdout] 134 + Self::new() [INFO] [stdout] 135 + } [INFO] [stdout] 136 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:174:35 [INFO] [stdout] | [INFO] [stdout] 174 | assert!(tag[i] != u8::max_value()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 174 - assert!(tag[i] != u8::max_value()); [INFO] [stdout] 174 + assert!(tag[i] != u8::MAX); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `cloned` [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:298:24 [INFO] [stdout] | [INFO] [stdout] 298 | for gen in tmp_params.pedersen_hash_generators.iter().cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] help: remove any references to the binding [INFO] [stdout] | [INFO] [stdout] 298 ~ for gen in tmp_params.pedersen_hash_generators.iter() { [INFO] [stdout] 299 ~ let mut gen = montgomery::Point::from_edwards(gen, &tmp_params); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:393:35 [INFO] [stdout] | [INFO] [stdout] 393 | assert!(tag[i] != u8::max_value()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 393 - assert!(tag[i] != u8::max_value()); [INFO] [stdout] 393 + assert!(tag[i] != u8::MAX); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `cloned` [INFO] [stdout] --> src/alt_babyjubjub/mod.rs:517:24 [INFO] [stdout] | [INFO] [stdout] 517 | for gen in tmp_params.pedersen_hash_generators.iter().cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] help: remove any references to the binding [INFO] [stdout] | [INFO] [stdout] 517 ~ for gen in tmp_params.pedersen_hash_generators.iter() { [INFO] [stdout] 518 ~ let mut gen = montgomery::Point::from_edwards(gen, &tmp_params); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/circuit/test/mod.rs:40:18 [INFO] [stdout] | [INFO] [stdout] 40 | constraints: Vec<( [INFO] [stdout] | __________________^ [INFO] [stdout] 41 | | LinearCombination, [INFO] [stdout] 42 | | LinearCombination, [INFO] [stdout] 43 | | LinearCombination, [INFO] [stdout] 44 | | String [INFO] [stdout] 45 | | )>, [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `OrderedVariable` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/test/mod.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | to_remove.push(var.clone()) [INFO] [stdout] | ^^^^^^^^^^^ help: try dereferencing it: `*var` [INFO] [stdout] | [INFO] [stdout] = help: 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/circuit/test/mod.rs:148:24 [INFO] [stdout] | [INFO] [stdout] 148 | tmp.mul_assign(&coeff); [INFO] [stdout] | ^^^^^^ help: change this to: `coeff` [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: you should consider adding a `Default` implementation for `TestConstraintSystem` [INFO] [stdout] --> src/circuit/test/mod.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | / pub fn new() -> TestConstraintSystem { [INFO] [stdout] 157 | | let mut map = HashMap::new(); [INFO] [stdout] 158 | | map.insert("ONE".into(), NamedObject::Var(TestConstraintSystem::::one())); [INFO] [stdout] ... | [INFO] [stdout] 167 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 155 + impl Default for TestConstraintSystem { [INFO] [stdout] 156 + fn default() -> Self { [INFO] [stdout] 157 + Self::new() [INFO] [stdout] 158 + } [INFO] [stdout] 159 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/circuit/test/mod.rs:179:47 [INFO] [stdout] | [INFO] [stdout] 179 | E::Fr::from_str("2").unwrap().pow(&[i as u64]) [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `[i as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/test/mod.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | for &(ref a, ref b, ref c, ref name) in &self.constraints { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 220 - for &(ref a, ref b, ref c, ref name) in &self.constraints { [INFO] [stdout] 220 + for (a, b, c, name) in &self.constraints { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 221 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 221 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:231:9 [INFO] [stdout] | [INFO] [stdout] 231 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 231 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 231 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/test/mod.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | for &(ref a, ref b, ref c, ref _name) in &self.constraints { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 256 - for &(ref a, ref b, ref c, ref _name) in &self.constraints { [INFO] [stdout] 256 + for (a, b, c, _name) in &self.constraints { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&inp.1).is_none()` [INFO] [stdout] --> src/circuit/test/mod.rs:264:20 [INFO] [stdout] | [INFO] [stdout] 264 | if set.get(&inp.1).is_none() { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!set.contains(&inp.1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] = note: `#[warn(clippy::unnecessary_get_then_check)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:265:17 [INFO] [stdout] | [INFO] [stdout] 265 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 265 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 265 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:267:17 [INFO] [stdout] | [INFO] [stdout] 267 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 267 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 267 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&inp.1).is_none()` [INFO] [stdout] --> src/circuit/test/mod.rs:272:20 [INFO] [stdout] | [INFO] [stdout] 272 | if set.get(&inp.1).is_none() { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!set.contains(&inp.1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:273:17 [INFO] [stdout] | [INFO] [stdout] 273 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 273 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 273 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/test/mod.rs:275:17 [INFO] [stdout] | [INFO] [stdout] 275 | write!(&mut s, "\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 275 - write!(&mut s, "\n").unwrap(); [INFO] [stdout] 275 + writeln!(&mut s).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/test/mod.rs:308:13 [INFO] [stdout] | [INFO] [stdout] 308 | for &(ref a, ref b, ref c, ref path) in &self.constraints { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 308 - for &(ref a, ref b, ref c, ref path) in &self.constraints { [INFO] [stdout] 308 + for (a, b, c, path) in &self.constraints { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/circuit/test/mod.rs:316:29 [INFO] [stdout] | [INFO] [stdout] 316 | return Some(&*path) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 316 - return Some(&*path) [INFO] [stdout] 316 + return Some(path) [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 316 | return Some(&**path) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/test/mod.rs:336:18 [INFO] [stdout] | [INFO] [stdout] 336 | Some(&NamedObject::Var(ref v)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 336 - Some(&NamedObject::Var(ref v)) => { [INFO] [stdout] 336 + Some(NamedObject::Var(v)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/circuit/test/mod.rs:358:9 [INFO] [stdout] | [INFO] [stdout] 358 | 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] 358 - return true; [INFO] [stdout] 358 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/test/mod.rs:377:18 [INFO] [stdout] | [INFO] [stdout] 377 | Some(&NamedObject::Var(ref v)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 377 - Some(&NamedObject::Var(ref v)) => { [INFO] [stdout] 377 + Some(NamedObject::Var(v)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/test/mod.rs:405:31 [INFO] [stdout] | [INFO] [stdout] 405 | for ns in ns.iter().chain(Some(&this).into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 405 - for ns in ns.iter().chain(Some(&this).into_iter()) [INFO] [stdout] 405 + for ns in ns.iter().chain(Some(&this)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/boolean.rs:329:26 [INFO] [stdout] | [INFO] [stdout] 329 | Ok(v.into_iter().map(|e| Boolean::from(e)).collect()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/circuit/boolean.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | / match *self { [INFO] [stdout] 390 | | Boolean::Constant(_) => true, [INFO] [stdout] 391 | | _ => false [INFO] [stdout] 392 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 389 - match *self { [INFO] [stdout] 390 - Boolean::Constant(_) => true, [INFO] [stdout] 391 - _ => false [INFO] [stdout] 392 - } [INFO] [stdout] 389 + matches!(*self, Boolean::Constant(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/boolean.rs:453:9 [INFO] [stdout] | [INFO] [stdout] 453 | / match self { [INFO] [stdout] 454 | | &Boolean::Constant(c) => Some(c), [INFO] [stdout] 455 | | &Boolean::Is(ref v) => v.get_value(), [INFO] [stdout] 456 | | &Boolean::Not(ref v) => v.get_value().map(|b| !b) [INFO] [stdout] 457 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 453 ~ match *self { [INFO] [stdout] 454 ~ Boolean::Constant(c) => Some(c), [INFO] [stdout] 455 ~ Boolean::Is(ref v) => v.get_value(), [INFO] [stdout] 456 ~ Boolean::Not(ref v) => v.get_value().map(|b| !b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:455:13 [INFO] [stdout] | [INFO] [stdout] 455 | &Boolean::Is(ref v) => v.get_value(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 455 - &Boolean::Is(ref v) => v.get_value(), [INFO] [stdout] 455 + Boolean::Is(v) => v.get_value(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:456:13 [INFO] [stdout] | [INFO] [stdout] 456 | &Boolean::Not(ref v) => v.get_value().map(|b| !b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 456 - &Boolean::Not(ref v) => v.get_value().map(|b| !b) [INFO] [stdout] 456 + Boolean::Not(v) => v.get_value().map(|b| !b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/boolean.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 466 | / match self { [INFO] [stdout] 467 | | &Boolean::Constant(c) => { [INFO] [stdout] 468 | | if c { [INFO] [stdout] 469 | | LinearCombination::::zero() + (coeff, one) [INFO] [stdout] ... | [INFO] [stdout] 480 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 466 ~ match *self { [INFO] [stdout] 467 ~ Boolean::Constant(c) => { [INFO] [stdout] 468 | if c { [INFO] [stdout] ... [INFO] [stdout] 473 | }, [INFO] [stdout] 474 ~ Boolean::Is(ref v) => { [INFO] [stdout] 475 | LinearCombination::::zero() + (coeff, v.get_variable()) [INFO] [stdout] 476 | }, [INFO] [stdout] 477 ~ Boolean::Not(ref v) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:474:13 [INFO] [stdout] | [INFO] [stdout] 474 | &Boolean::Is(ref v) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 474 - &Boolean::Is(ref v) => { [INFO] [stdout] 474 + Boolean::Is(v) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | &Boolean::Not(ref v) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 477 - &Boolean::Not(ref v) => { [INFO] [stdout] 477 + Boolean::Not(v) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/boolean.rs:490:9 [INFO] [stdout] | [INFO] [stdout] 490 | / match self { [INFO] [stdout] 491 | | &Boolean::Constant(c) => Boolean::Constant(!c), [INFO] [stdout] 492 | | &Boolean::Is(ref v) => Boolean::Not(v.clone()), [INFO] [stdout] 493 | | &Boolean::Not(ref v) => Boolean::Is(v.clone()) [INFO] [stdout] 494 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 490 ~ match *self { [INFO] [stdout] 491 ~ Boolean::Constant(c) => Boolean::Constant(!c), [INFO] [stdout] 492 ~ Boolean::Is(ref v) => Boolean::Not(v.clone()), [INFO] [stdout] 493 ~ Boolean::Not(ref v) => Boolean::Is(v.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:492:13 [INFO] [stdout] | [INFO] [stdout] 492 | &Boolean::Is(ref v) => Boolean::Not(v.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 492 - &Boolean::Is(ref v) => Boolean::Not(v.clone()), [INFO] [stdout] 492 + Boolean::Is(v) => Boolean::Not(v.clone()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:493:13 [INFO] [stdout] | [INFO] [stdout] 493 | &Boolean::Not(ref v) => Boolean::Is(v.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 493 - &Boolean::Not(ref v) => Boolean::Is(v.clone()) [INFO] [stdout] 493 + Boolean::Not(v) => Boolean::Is(v.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:543:14 [INFO] [stdout] | [INFO] [stdout] 543 | (&Boolean::Not(ref a), &Boolean::Not(ref b)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 543 - (&Boolean::Not(ref a), &Boolean::Not(ref b)) => { [INFO] [stdout] 543 + (Boolean::Not(a), &Boolean::Not(ref b)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:543:36 [INFO] [stdout] | [INFO] [stdout] 543 | (&Boolean::Not(ref a), &Boolean::Not(ref b)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 543 - (&Boolean::Not(ref a), &Boolean::Not(ref b)) => { [INFO] [stdout] 543 + (&Boolean::Not(ref a), Boolean::Not(b)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:547:14 [INFO] [stdout] | [INFO] [stdout] 547 | (&Boolean::Is(ref a), &Boolean::Is(ref b)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 547 - (&Boolean::Is(ref a), &Boolean::Is(ref b)) => { [INFO] [stdout] 547 + (Boolean::Is(a), &Boolean::Is(ref b)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/boolean.rs:547:35 [INFO] [stdout] | [INFO] [stdout] 547 | (&Boolean::Is(ref a), &Boolean::Is(ref b)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 547 - (&Boolean::Is(ref a), &Boolean::Is(ref b)) => { [INFO] [stdout] 547 + (&Boolean::Is(ref a), Boolean::Is(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/circuit/boolean.rs:596:21 [INFO] [stdout] | [INFO] [stdout] 596 | &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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/boolean.rs:606:21 [INFO] [stdout] | [INFO] [stdout] 606 | &a, [INFO] [stdout] | ^^ help: change this to: `a` [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/circuit/boolean.rs:607:21 [INFO] [stdout] | [INFO] [stdout] 607 | &b [INFO] [stdout] | ^^ help: change this to: `b` [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/circuit/boolean.rs:619:21 [INFO] [stdout] | [INFO] [stdout] 619 | &a, [INFO] [stdout] | ^^ help: change this to: `a` [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: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1409:9 [INFO] [stdout] | [INFO] [stdout] 1409 | assert_eq!(bits[63 - 0].get_value().unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1409 - assert_eq!(bits[63 - 0].get_value().unwrap(), true); [INFO] [stdout] 1409 + assert!(bits[63 - 0].get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/circuit/boolean.rs:1409:25 [INFO] [stdout] | [INFO] [stdout] 1409 | assert_eq!(bits[63 - 0].get_value().unwrap(), true); [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `63` [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: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1410:9 [INFO] [stdout] | [INFO] [stdout] 1410 | assert_eq!(bits[63 - 1].get_value().unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1410 - assert_eq!(bits[63 - 1].get_value().unwrap(), true); [INFO] [stdout] 1410 + assert!(bits[63 - 1].get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1411:9 [INFO] [stdout] | [INFO] [stdout] 1411 | assert_eq!(bits[63 - 2].get_value().unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1411 - assert_eq!(bits[63 - 2].get_value().unwrap(), true); [INFO] [stdout] 1411 + assert!(bits[63 - 2].get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1412:9 [INFO] [stdout] | [INFO] [stdout] 1412 | assert_eq!(bits[63 - 3].get_value().unwrap(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1412 - assert_eq!(bits[63 - 3].get_value().unwrap(), false); [INFO] [stdout] 1412 + assert!(!bits[63 - 3].get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1413:9 [INFO] [stdout] | [INFO] [stdout] 1413 | assert_eq!(bits[63 - 4].get_value().unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1413 - assert_eq!(bits[63 - 4].get_value().unwrap(), true); [INFO] [stdout] 1413 + assert!(bits[63 - 4].get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1414:9 [INFO] [stdout] | [INFO] [stdout] 1414 | assert_eq!(bits[63 - 5].get_value().unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1414 - assert_eq!(bits[63 - 5].get_value().unwrap(), true); [INFO] [stdout] 1414 + assert!(bits[63 - 5].get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1415:9 [INFO] [stdout] | [INFO] [stdout] 1415 | assert_eq!(bits[63 - 20].get_value().unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1415 - assert_eq!(bits[63 - 20].get_value().unwrap(), true); [INFO] [stdout] 1415 + assert!(bits[63 - 20].get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1416:9 [INFO] [stdout] | [INFO] [stdout] 1416 | assert_eq!(bits[63 - 21].get_value().unwrap(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1416 - assert_eq!(bits[63 - 21].get_value().unwrap(), false); [INFO] [stdout] 1416 + assert!(!bits[63 - 21].get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1417:9 [INFO] [stdout] | [INFO] [stdout] 1417 | assert_eq!(bits[63 - 22].get_value().unwrap(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1417 - assert_eq!(bits[63 - 22].get_value().unwrap(), false); [INFO] [stdout] 1417 + assert!(!bits[63 - 22].get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1432:9 [INFO] [stdout] | [INFO] [stdout] 1432 | assert_eq!(bits[254 - 0].value.unwrap(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1432 - assert_eq!(bits[254 - 0].value.unwrap(), false); [INFO] [stdout] 1432 + assert!(!bits[254 - 0].value.unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/circuit/boolean.rs:1432:25 [INFO] [stdout] | [INFO] [stdout] 1432 | assert_eq!(bits[254 - 0].value.unwrap(), false); [INFO] [stdout] | ^^^^^^^ help: consider reducing it to: `254` [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: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1433:9 [INFO] [stdout] | [INFO] [stdout] 1433 | assert_eq!(bits[254 - 1].value.unwrap(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1433 - assert_eq!(bits[254 - 1].value.unwrap(), false); [INFO] [stdout] 1433 + assert!(!bits[254 - 1].value.unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1434:9 [INFO] [stdout] | [INFO] [stdout] 1434 | assert_eq!(bits[254 - 2].value.unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1434 - assert_eq!(bits[254 - 2].value.unwrap(), true); [INFO] [stdout] 1434 + assert!(bits[254 - 2].value.unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1435:9 [INFO] [stdout] | [INFO] [stdout] 1435 | assert_eq!(bits[254 - 3].value.unwrap(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1435 - assert_eq!(bits[254 - 3].value.unwrap(), false); [INFO] [stdout] 1435 + assert!(!bits[254 - 3].value.unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1436:9 [INFO] [stdout] | [INFO] [stdout] 1436 | assert_eq!(bits[254 - 4].value.unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1436 - assert_eq!(bits[254 - 4].value.unwrap(), true); [INFO] [stdout] 1436 + assert!(bits[254 - 4].value.unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1437:9 [INFO] [stdout] | [INFO] [stdout] 1437 | assert_eq!(bits[254 - 5].value.unwrap(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1437 - assert_eq!(bits[254 - 5].value.unwrap(), false); [INFO] [stdout] 1437 + assert!(!bits[254 - 5].value.unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1438:9 [INFO] [stdout] | [INFO] [stdout] 1438 | assert_eq!(bits[254 - 20].value.unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1438 - assert_eq!(bits[254 - 20].value.unwrap(), true); [INFO] [stdout] 1438 + assert!(bits[254 - 20].value.unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/boolean.rs:1439:9 [INFO] [stdout] | [INFO] [stdout] 1439 | assert_eq!(bits[254 - 23].value.unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1439 - assert_eq!(bits[254 - 23].value.unwrap(), true); [INFO] [stdout] 1439 + assert!(bits[254 - 23].value.unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/circuit/multieq.rs:67:55 [INFO] [stdout] | [INFO] [stdout] 67 | let coeff = E::Fr::from_str("2").unwrap().pow(&[self.bits_used as u64]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `[self.bits_used as u64]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | value.as_mut().map(|v| *v <<= 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 102 - value.as_mut().map(|v| *v <<= 1); [INFO] [stdout] 102 + if let Some(v) = value.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:105:33 [INFO] [stdout] | [INFO] [stdout] 105 | Some(true) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 105 - Some(true) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] 105 + Some(true) => { if let Some(v) = value.as_mut() { ... } }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | value.as_mut().map(|v| *v <<= 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 133 - value.as_mut().map(|v| *v <<= 1); [INFO] [stdout] 133 + if let Some(v) = value.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/uint32.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | / match b { [INFO] [stdout] 136 | | &Boolean::Constant(b) => { [INFO] [stdout] 137 | | if b { [INFO] [stdout] 138 | | value.as_mut().map(|v| *v |= 1); [INFO] [stdout] ... | [INFO] [stdout] 155 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 135 ~ match *b { [INFO] [stdout] 136 ~ Boolean::Constant(b) => { [INFO] [stdout] 137 | if b { [INFO] [stdout] ... [INFO] [stdout] 140 | }, [INFO] [stdout] 141 ~ Boolean::Is(ref b) => { [INFO] [stdout] 142 | match b.get_value() { [INFO] [stdout] ... [INFO] [stdout] 147 | }, [INFO] [stdout] 148 ~ Boolean::Not(ref b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | value.as_mut().map(|v| *v |= 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 138 - value.as_mut().map(|v| *v |= 1); [INFO] [stdout] 138 + if let Some(v) = value.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | &Boolean::Is(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 141 - &Boolean::Is(ref b) => { [INFO] [stdout] 141 + Boolean::Is(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:143:41 [INFO] [stdout] | [INFO] [stdout] 143 | Some(true) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 143 - Some(true) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] 143 + Some(true) => { if let Some(v) = value.as_mut() { ... } }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:148:17 [INFO] [stdout] | [INFO] [stdout] 148 | &Boolean::Not(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 148 - &Boolean::Not(ref b) => { [INFO] [stdout] 148 + Boolean::Not(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:150:42 [INFO] [stdout] | [INFO] [stdout] 150 | Some(false) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 150 - Some(false) => { value.as_mut().map(|v| *v |= 1); }, [INFO] [stdout] 150 + Some(false) => { if let Some(v) = value.as_mut() { ... } }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `modular_value` after checking its variant with `is_some` [INFO] [stdout] --> src/circuit/uint32.rs:373:40 [INFO] [stdout] | [INFO] [stdout] 369 | if all_constants && modular_value.is_some() { [INFO] [stdout] | ----------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 373 | return Ok(UInt32::constant(modular_value.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: usage of a legacy numeric method [INFO] [stdout] --> src/circuit/uint32.rs:329:56 [INFO] [stdout] | [INFO] [stdout] 329 | let mut max_value = (operands.len() as u64) * (u32::max_value() as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 329 - let mut max_value = (operands.len() as u64) * (u32::max_value() as u64); [INFO] [stdout] 329 + let mut max_value = (operands.len() as u64) * (u32::MAX as u64); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/uint32.rs:345:21 [INFO] [stdout] | [INFO] [stdout] 345 | result_value.as_mut().map(|v| *v += val as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 345 - result_value.as_mut().map(|v| *v += val as u64); [INFO] [stdout] 345 + if let Some(v) = result_value.as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/uint32.rs:514:17 [INFO] [stdout] | [INFO] [stdout] 514 | / match b { [INFO] [stdout] 515 | | &Boolean::Is(ref b) => { [INFO] [stdout] 516 | | assert!(b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 517 | | }, [INFO] [stdout] ... | [INFO] [stdout] 524 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 514 ~ match *b { [INFO] [stdout] 515 ~ Boolean::Is(ref b) => { [INFO] [stdout] 516 | assert!(b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 517 | }, [INFO] [stdout] 518 ~ Boolean::Not(ref b) => { [INFO] [stdout] 519 | assert!(!b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 520 | }, [INFO] [stdout] 521 ~ Boolean::Constant(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:515:21 [INFO] [stdout] | [INFO] [stdout] 515 | &Boolean::Is(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 515 - &Boolean::Is(ref b) => { [INFO] [stdout] 515 + Boolean::Is(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:518:21 [INFO] [stdout] | [INFO] [stdout] 518 | &Boolean::Not(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 518 - &Boolean::Not(ref b) => { [INFO] [stdout] 518 + Boolean::Not(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/circuit/uint32.rs:519:33 [INFO] [stdout] | [INFO] [stdout] 519 | assert!(!b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b.get_value().unwrap() != (expected & 1 == 1)` [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: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/uint32.rs:557:17 [INFO] [stdout] | [INFO] [stdout] 557 | / match b { [INFO] [stdout] 558 | | &Boolean::Is(_) => panic!(), [INFO] [stdout] 559 | | &Boolean::Not(_) => panic!(), [INFO] [stdout] 560 | | &Boolean::Constant(b) => { [INFO] [stdout] ... | [INFO] [stdout] 563 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 557 ~ match *b { [INFO] [stdout] 558 ~ Boolean::Is(_) => panic!(), [INFO] [stdout] 559 ~ Boolean::Not(_) => panic!(), [INFO] [stdout] 560 ~ Boolean::Constant(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/uint32.rs:601:17 [INFO] [stdout] | [INFO] [stdout] 601 | / match b { [INFO] [stdout] 602 | | &Boolean::Is(ref b) => { [INFO] [stdout] 603 | | assert!(b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 604 | | }, [INFO] [stdout] ... | [INFO] [stdout] 611 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 601 ~ match *b { [INFO] [stdout] 602 ~ Boolean::Is(ref b) => { [INFO] [stdout] 603 | assert!(b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 604 | }, [INFO] [stdout] 605 ~ Boolean::Not(ref b) => { [INFO] [stdout] 606 | assert!(!b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 607 | }, [INFO] [stdout] 608 ~ Boolean::Constant(_) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:602:21 [INFO] [stdout] | [INFO] [stdout] 602 | &Boolean::Is(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 602 - &Boolean::Is(ref b) => { [INFO] [stdout] 602 + Boolean::Is(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:605:21 [INFO] [stdout] | [INFO] [stdout] 605 | &Boolean::Not(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 605 - &Boolean::Not(ref b) => { [INFO] [stdout] 605 + Boolean::Not(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/circuit/uint32.rs:606:33 [INFO] [stdout] | [INFO] [stdout] 606 | assert!(!b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b.get_value().unwrap() != (expected & 1 == 1)` [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: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/uint32.rs:701:17 [INFO] [stdout] | [INFO] [stdout] 701 | / match b { [INFO] [stdout] 702 | | &Boolean::Is(ref b) => { [INFO] [stdout] 703 | | assert!(b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 704 | | }, [INFO] [stdout] ... | [INFO] [stdout] 711 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 701 ~ match *b { [INFO] [stdout] 702 ~ Boolean::Is(ref b) => { [INFO] [stdout] 703 | assert!(b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 704 | }, [INFO] [stdout] 705 ~ Boolean::Not(ref b) => { [INFO] [stdout] 706 | assert!(!b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 707 | }, [INFO] [stdout] 708 ~ Boolean::Constant(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:702:21 [INFO] [stdout] | [INFO] [stdout] 702 | &Boolean::Is(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 702 - &Boolean::Is(ref b) => { [INFO] [stdout] 702 + Boolean::Is(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:705:21 [INFO] [stdout] | [INFO] [stdout] 705 | &Boolean::Not(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 705 - &Boolean::Not(ref b) => { [INFO] [stdout] 705 + Boolean::Not(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/circuit/uint32.rs:706:33 [INFO] [stdout] | [INFO] [stdout] 706 | assert!(!b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b.get_value().unwrap() != (expected & 1 == 1)` [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: you don't need to add `&` to all patterns [INFO] [stdout] --> src/circuit/uint32.rs:742:17 [INFO] [stdout] | [INFO] [stdout] 742 | / match b { [INFO] [stdout] 743 | | &Boolean::Is(ref b) => { [INFO] [stdout] 744 | | assert!(b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 745 | | }, [INFO] [stdout] ... | [INFO] [stdout] 752 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 742 ~ match *b { [INFO] [stdout] 743 ~ Boolean::Is(ref b) => { [INFO] [stdout] 744 | assert!(b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 745 | }, [INFO] [stdout] 746 ~ Boolean::Not(ref b) => { [INFO] [stdout] 747 | assert!(!b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] 748 | }, [INFO] [stdout] 749 ~ Boolean::Constant(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:743:21 [INFO] [stdout] | [INFO] [stdout] 743 | &Boolean::Is(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 743 - &Boolean::Is(ref b) => { [INFO] [stdout] 743 + Boolean::Is(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/uint32.rs:746:21 [INFO] [stdout] | [INFO] [stdout] 746 | &Boolean::Not(ref b) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 746 - &Boolean::Not(ref b) => { [INFO] [stdout] 746 + Boolean::Not(b) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/circuit/uint32.rs:747:33 [INFO] [stdout] | [INFO] [stdout] 747 | assert!(!b.get_value().unwrap() == (expected & 1 == 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b.get_value().unwrap() != (expected & 1 == 1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/circuit/blake2s.rs:93:1 [INFO] [stdout] | [INFO] [stdout] 93 | / fn mixing_g, M>( [INFO] [stdout] 94 | | mut cs: M, [INFO] [stdout] 95 | | v: &mut [UInt32], [INFO] [stdout] 96 | | a: usize, [INFO] [stdout] ... | [INFO] [stdout] 102 | | ) -> Result<(), SynthesisError> [INFO] [stdout] 103 | | where M: ConstraintSystem> [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: usage of a legacy numeric method [INFO] [stdout] --> src/circuit/blake2s.rs:202:75 [INFO] [stdout] | [INFO] [stdout] 202 | v[14] = v[14].xor(cs.namespace(|| "third xor"), &UInt32::constant(u32::max_value()))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 202 - v[14] = v[14].xor(cs.namespace(|| "third xor"), &UInt32::constant(u32::max_value()))?; [INFO] [stdout] 202 + v[14] = v[14].xor(cs.namespace(|| "third xor"), &UInt32::constant(u32::MAX))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/blake2s.rs:271:13 [INFO] [stdout] | [INFO] [stdout] 271 | assert!(input.len() % 8 == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `input.len().is_multiple_of(8)` [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: length comparison to zero [INFO] [stdout] --> src/circuit/blake2s.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 302 | if blocks.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `blocks.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `array` [INFO] [stdout] --> src/circuit/blake2s.rs:345:27 [INFO] [stdout] | [INFO] [stdout] 345 | for b in expected.into_iter() { [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/circuit/num.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | assert!(v.len() > 0); [INFO] [stdout] | ^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!v.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/num.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | a_bit.map(|e| assert!(!e)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 149 - a_bit.map(|e| assert!(!e)); [INFO] [stdout] 149 + if let Some(e) = a_bit { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/circuit/num.rs:164:20 [INFO] [stdout] | [INFO] [stdout] 164 | if current_run.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!current_run.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/num.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | &last_run.as_ref().expect("char always starts with a one") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `last_run.as_ref().expect("char always starts with a one")` [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: redundant closure [INFO] [stdout] --> src/circuit/num.rs:220:35 [INFO] [stdout] | [INFO] [stdout] 220 | Ok(result.into_iter().map(|b| Boolean::from(b)).rev().collect()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/num.rs:255:33 [INFO] [stdout] | [INFO] [stdout] 255 | Ok(bits.into_iter().map(|b| Boolean::from(b)).collect()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/circuit/num.rs:556:32 [INFO] [stdout] | [INFO] [stdout] 556 | tmp.mul_assign(&(*delta_inv.get_value().get()?)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `delta_inv.get_value().get()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(var).is_some()` [INFO] [stdout] --> src/circuit/num.rs:785:29 [INFO] [stdout] | [INFO] [stdout] 785 | if final_coeffs.get(var).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(var)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/num.rs:787:47 [INFO] [stdout] | [INFO] [stdout] 787 | existing_coeff.add_assign(&coeff); [INFO] [stdout] | ^^^^^^ help: change this to: `coeff` [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: unnecessary use of `get(var).is_some()` [INFO] [stdout] --> src/circuit/num.rs:795:29 [INFO] [stdout] | [INFO] [stdout] 795 | if final_coeffs.get(var).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(var)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/num.rs:797:47 [INFO] [stdout] | [INFO] [stdout] 797 | existing_coeff.add_assign(&coeff); [INFO] [stdout] | ^^^^^^ help: change this to: `coeff` [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: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/num.rs:947:9 [INFO] [stdout] | [INFO] [stdout] 947 | assert_eq!(not_eq.get_value().unwrap(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 947 - assert_eq!(not_eq.get_value().unwrap(), false); [INFO] [stdout] 947 + assert!(!not_eq.get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/circuit/num.rs:948:9 [INFO] [stdout] | [INFO] [stdout] 948 | assert_eq!(eq.get_value().unwrap(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 948 - assert_eq!(eq.get_value().unwrap(), true); [INFO] [stdout] 948 + assert!(eq.get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/num.rs:1009:24 [INFO] [stdout] | [INFO] [stdout] 1009 | if let &Boolean::Is(ref a) = a { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1009 - if let &Boolean::Is(ref a) = a { [INFO] [stdout] 1009 + if let Boolean::Is(a) = a { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `b` is used to index `constants` [INFO] [stdout] --> src/circuit/lookup.rs:296:18 [INFO] [stdout] | [INFO] [stdout] 296 | for b in 0..(1 << window_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] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 296 - for b in 0..(1 << window_size) { [INFO] [stdout] 296 + for (b, ) in constants.iter().enumerate().take((1 << window_size)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `assignment` [INFO] [stdout] --> src/circuit/lookup.rs:299:22 [INFO] [stdout] | [INFO] [stdout] 299 | for j in 0..(1 << window_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] 299 - for j in 0..(1 << window_size) { [INFO] [stdout] 299 + for (j, ) in assignment.iter().enumerate().take((1 << window_size)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/baby_ecc.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | let chunk_a = chunk.get(0).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(0).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `chunk.get(0)` [INFO] [stdout] --> src/circuit/baby_ecc.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | let chunk_a = chunk.get(0).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `chunk.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/baby_ecc.rs:59:23 [INFO] [stdout] | [INFO] [stdout] 59 | let chunk_b = chunk.get(1).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(1).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/baby_ecc.rs:60:23 [INFO] [stdout] | [INFO] [stdout] 60 | let chunk_c = chunk.get(2).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(2).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/baby_ecc.rs:810:59 [INFO] [stdout] | [INFO] [stdout] 810 | let p = edwards::Point::::rand(rng, ¶ms); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/baby_ecc.rs:816:17 [INFO] [stdout] | [INFO] [stdout] 816 | ¶ms [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/baby_ecc.rs:827:59 [INFO] [stdout] | [INFO] [stdout] 827 | let p = edwards::Point::::rand(rng, ¶ms); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/baby_ecc.rs:838:68 [INFO] [stdout] | [INFO] [stdout] 838 | let p = EdwardsPoint::interpret(&mut cs, &numx, &numy, ¶ms).unwrap(); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/baby_ecc.rs:858:60 [INFO] [stdout] | [INFO] [stdout] 858 | EdwardsPoint::interpret(&mut cs, &numx, &numy, ¶ms).unwrap(); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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: redundant closure [INFO] [stdout] --> src/circuit/baby_ecc.rs:884:37 [INFO] [stdout] | [INFO] [stdout] 884 | ... .map(|v| Boolean::from(v)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/baby_ecc.rs:933:37 [INFO] [stdout] | [INFO] [stdout] 933 | ... .map(|v| Boolean::from(v)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/ecc.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | let chunk_a = chunk.get(0).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(0).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `chunk.get(0)` [INFO] [stdout] --> src/circuit/ecc.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | let chunk_a = chunk.get(0).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `chunk.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/ecc.rs:59:23 [INFO] [stdout] | [INFO] [stdout] 59 | let chunk_b = chunk.get(1).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(1).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/circuit/ecc.rs:60:23 [INFO] [stdout] | [INFO] [stdout] 60 | let chunk_c = chunk.get(2).map(|e| e.clone()).unwrap_or(Boolean::constant(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `chunk.get(2).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/ecc.rs:822:59 [INFO] [stdout] | [INFO] [stdout] 822 | let p = edwards::Point::::rand(rng, ¶ms); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/ecc.rs:828:17 [INFO] [stdout] | [INFO] [stdout] 828 | ¶ms [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/ecc.rs:839:59 [INFO] [stdout] | [INFO] [stdout] 839 | let p = edwards::Point::::rand(rng, ¶ms); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/ecc.rs:850:68 [INFO] [stdout] | [INFO] [stdout] 850 | let p = EdwardsPoint::interpret(&mut cs, &numx, &numy, ¶ms).unwrap(); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/ecc.rs:870:60 [INFO] [stdout] | [INFO] [stdout] 870 | EdwardsPoint::interpret(&mut cs, &numx, &numy, ¶ms).unwrap(); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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: redundant closure [INFO] [stdout] --> src/circuit/ecc.rs:896:37 [INFO] [stdout] | [INFO] [stdout] 896 | ... .map(|v| Boolean::from(v)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/ecc.rs:945:37 [INFO] [stdout] | [INFO] [stdout] 945 | ... .map(|v| Boolean::from(v)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/ecc.rs:1288:59 [INFO] [stdout] | [INFO] [stdout] 1288 | let p = edwards::Point::::rand(rng, ¶ms); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/ecc.rs:1294:17 [INFO] [stdout] | [INFO] [stdout] 1294 | ¶ms [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/ecc.rs:1305:59 [INFO] [stdout] | [INFO] [stdout] 1305 | let p = edwards::Point::::rand(rng, ¶ms); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/ecc.rs:1316:68 [INFO] [stdout] | [INFO] [stdout] 1316 | let p = EdwardsPoint::interpret(&mut cs, &numx, &numy, ¶ms).unwrap(); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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/circuit/ecc.rs:1336:60 [INFO] [stdout] | [INFO] [stdout] 1336 | EdwardsPoint::interpret(&mut cs, &numx, &numy, ¶ms).unwrap(); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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: redundant closure [INFO] [stdout] --> src/circuit/ecc.rs:1362:37 [INFO] [stdout] | [INFO] [stdout] 1362 | ... .map(|v| Boolean::from(v)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/ecc.rs:1411:37 [INFO] [stdout] | [INFO] [stdout] 1411 | ... .map(|v| Boolean::from(v)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/pedersen_hash.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | .map(|e| Boolean::constant(e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::constant` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/circuit/pedersen_hash.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | if segment_windows.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `segment_windows.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/pedersen_hash.rs:175:21 [INFO] [stdout] | [INFO] [stdout] 175 | input.clone().into_iter(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> src/pedersen_hash.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | where I: IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 175 - input.clone().into_iter(), [INFO] [stdout] 175 + input.clone(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/pedersen_hash.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | input.into_iter(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> src/pedersen_hash.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | where I: IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 185 - input.into_iter(), [INFO] [stdout] 185 + input, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/pedersen_hash.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | input.clone().into_iter(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> src/pedersen_hash.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | where I: IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 259 - input.clone().into_iter(), [INFO] [stdout] 259 + input.clone(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/pedersen_hash.rs:269:21 [INFO] [stdout] | [INFO] [stdout] 269 | input.into_iter(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> src/pedersen_hash.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | where I: IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 269 - input.into_iter(), [INFO] [stdout] 269 + input, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/baby_pedersen_hash.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | .map(|e| Boolean::constant(e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::constant` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/circuit/baby_pedersen_hash.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | if segment_windows.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `segment_windows.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_pedersen_hash.rs:175:21 [INFO] [stdout] | [INFO] [stdout] 175 | input.clone().into_iter(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> src/baby_pedersen_hash.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | where I: IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 175 - input.clone().into_iter(), [INFO] [stdout] 175 + input.clone(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_pedersen_hash.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | input.into_iter(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> src/baby_pedersen_hash.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | where I: IntoIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 185 - input.into_iter(), [INFO] [stdout] 185 + input, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/sha256.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | &input, [INFO] [stdout] | ^^^^^^ help: change this to: `input` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/sha256.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | assert!(input.len() % 8 == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `input.len().is_multiple_of(8)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/sha256.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | while (padded.len() + 64) % 512 != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!(padded.len() + 64).is_multiple_of(512)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/sha256.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | assert!(padded.len() % 512 == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `padded.len().is_multiple_of(512)` [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: redundant closure [INFO] [stdout] --> src/circuit/sha256.rs:92:27 [INFO] [stdout] | [INFO] [stdout] 92 | .map(|e| UInt32::from_bits_be(e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `UInt32::from_bits_be` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/circuit/sha256.rs:155:37 [INFO] [stdout] | [INFO] [stdout] 155 | v.extend(others.into_iter().cloned()); [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `array` [INFO] [stdout] --> src/circuit/sha256.rs:333:27 [INFO] [stdout] | [INFO] [stdout] 333 | for b in expected.into_iter() { [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/circuit/baby_eddsa.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | return 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] 138 - return Ok(()); [INFO] [stdout] 138 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/baby_eddsa.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | ¶ms [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:91:26 [INFO] [stdout] | [INFO] [stdout] 91 | hash_bits.extend(r_x_serialized.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 91 - hash_bits.extend(r_x_serialized.into_iter()); [INFO] [stdout] 91 + hash_bits.extend(r_x_serialized); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/circuit/baby_eddsa.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | return 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] 239 - return Ok(()); [INFO] [stdout] 239 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/baby_eddsa.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | ¶ms [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:185:18 [INFO] [stdout] | [INFO] [stdout] 185 | t.extend(pk_x_serialized.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 185 - t.extend(pk_x_serialized.into_iter()); [INFO] [stdout] 185 + t.extend(pk_x_serialized); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:188:26 [INFO] [stdout] | [INFO] [stdout] 188 | hash_bits.extend(le_bits_into_le_bytes(t).into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 188 - hash_bits.extend(le_bits_into_le_bytes(t).into_iter()); [INFO] [stdout] 188 + hash_bits.extend(le_bits_into_le_bytes(t)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:191:18 [INFO] [stdout] | [INFO] [stdout] 191 | t.extend(r_x_serialized.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 191 - t.extend(r_x_serialized.into_iter()); [INFO] [stdout] 191 + t.extend(r_x_serialized); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:194:26 [INFO] [stdout] | [INFO] [stdout] 194 | hash_bits.extend(le_bits_into_le_bytes(t).into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 194 - hash_bits.extend(le_bits_into_le_bytes(t).into_iter()); [INFO] [stdout] 194 + hash_bits.extend(le_bits_into_le_bytes(t)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/circuit/baby_eddsa.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | return 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] 328 - return Ok(()); [INFO] [stdout] 328 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/baby_eddsa.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | ¶ms [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [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: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:359:22 [INFO] [stdout] | [INFO] [stdout] 359 | for i in (0..8).into_iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(0..8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/baby_eddsa.rs:401:9 [INFO] [stdout] | [INFO] [stdout] 401 | print!("Schnorr signature verification takes constraints: {}\n", cs.num_constraints()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] = note: `#[warn(clippy::print_with_newline)]` on by default [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 401 - print!("Schnorr signature verification takes constraints: {}\n", cs.num_constraints()); [INFO] [stdout] 401 + println!("Schnorr signature verification takes constraints: {}", cs.num_constraints()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/baby_eddsa.rs:462:9 [INFO] [stdout] | [INFO] [stdout] 462 | print!("MuSig verification without message hashing takes constraints: {}\n", cs.num_constraints()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 462 - print!("MuSig verification without message hashing takes constraints: {}\n", cs.num_constraints()); [INFO] [stdout] 462 + println!("MuSig verification without message hashing takes constraints: {}", cs.num_constraints()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/circuit/baby_eddsa.rs:479:22 [INFO] [stdout] | [INFO] [stdout] 479 | for i in (0..8).into_iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(0..8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/baby_eddsa.rs:522:9 [INFO] [stdout] | [INFO] [stdout] 522 | print!("EdDSA variant raw message signature takes constraints: {}\n", cs.num_constraints()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 522 - print!("EdDSA variant raw message signature takes constraints: {}\n", cs.num_constraints()); [INFO] [stdout] 522 + println!("EdDSA variant raw message signature takes constraints: {}", cs.num_constraints()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `bits` [INFO] [stdout] --> src/circuit/float_point.rs:40:14 [INFO] [stdout] | [INFO] [stdout] 40 | for i in 0..exponent_length { [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] 40 - for i in 0..exponent_length { [INFO] [stdout] 40 + for (i, ) in bits.iter().enumerate().take(exponent_length) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/float_point.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | &thisbit [INFO] [stdout] | ^^^^^^^^ help: change this to: `thisbit` [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 only used to index `bits` [INFO] [stdout] --> src/circuit/float_point.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | for i in exponent_length..(exponent_length+mantissa_length) [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] 68 - for i in exponent_length..(exponent_length+mantissa_length) [INFO] [stdout] 68 + for in bits.iter().skip(exponent_length).take(mantissa_length) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/float_point.rs:71:74 [INFO] [stdout] | [INFO] [stdout] 71 | mantissa_result = mantissa_result.add_bool_with_coeff(CS::one(), &thisbit, mantissa_base); [INFO] [stdout] | ^^^^^^^^ help: change this to: `thisbit` [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: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | max_exponent = max_exponent * exponent_base; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_exponent *= exponent_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] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | exponent_temp = exponent_temp / exponent_base; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exponent_temp /= exponent_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: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | exponent_temp = exponent_temp * exponent_base; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exponent_temp *= exponent_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: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | exponent_temp = exponent_temp * exponent_base; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exponent_temp *= exponent_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: the loop variable `i` is only used to index `bitslice` [INFO] [stdout] --> src/circuit/float_point.rs:178:14 [INFO] [stdout] | [INFO] [stdout] 178 | for i in 0..exponent_length [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] 178 - for i in 0..exponent_length [INFO] [stdout] 178 + for in bitslice.iter().take(exponent_length) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/circuit/float_point.rs:181:33 [INFO] [stdout] | [INFO] [stdout] 181 | let max_exponent = (u128::max_value() / exponent_multiplier) + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 181 - let max_exponent = (u128::max_value() / exponent_multiplier) + 1; [INFO] [stdout] 181 + let max_exponent = (u128::MAX / exponent_multiplier) + 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | exponent = exponent * exponent_multiplier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exponent *= exponent_multiplier` [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: usage of a legacy numeric method [INFO] [stdout] --> src/circuit/float_point.rs:190:28 [INFO] [stdout] | [INFO] [stdout] 190 | let mut max_mantissa = u128::max_value(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 190 - let mut max_mantissa = u128::max_value(); [INFO] [stdout] 190 + let mut max_mantissa = u128::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/circuit/float_point.rs:192:25 [INFO] [stdout] | [INFO] [stdout] 192 | max_mantissa = (u128::max_value() / exponent) + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 192 - max_mantissa = (u128::max_value() / exponent) + 1; [INFO] [stdout] 192 + max_mantissa = (u128::MAX / exponent) + 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `bitslice` [INFO] [stdout] --> src/circuit/float_point.rs:197:14 [INFO] [stdout] | [INFO] [stdout] 197 | for i in exponent_length..(exponent_length + mantissa_length) [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] 197 - for i in exponent_length..(exponent_length + mantissa_length) [INFO] [stdout] 197 + for in bitslice.iter().skip(exponent_length).take(mantissa_length) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | mantissa = mantissa + mantissa_power; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mantissa += mantissa_power` [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: manual implementation of an assign operation [INFO] [stdout] --> src/circuit/float_point.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | mantissa_power = mantissa_power * 2u128; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mantissa_power *= 2u128` [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: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/float_point.rs:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | print!("{}\n", exp_result.get_value().unwrap().into_repr()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 256 - print!("{}\n", exp_result.get_value().unwrap().into_repr()); [INFO] [stdout] 256 + println!("{}", exp_result.get_value().unwrap().into_repr()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/float_point.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | print!("constraints for float parsing = {}\n", cs.num_constraints()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 258 - print!("constraints for float parsing = {}\n", cs.num_constraints()); [INFO] [stdout] 258 + println!("constraints for float parsing = {}", cs.num_constraints()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/float_point.rs:324:9 [INFO] [stdout] | [INFO] [stdout] 324 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 324 - print!("\n"); [INFO] [stdout] 324 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/circuit/float_point.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 338 - print!("\n"); [INFO] [stdout] 338 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/circuit/polynomial_lookup.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | cs.namespace(|| format!("0-th power")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"0-th power".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/circuit/polynomial_lookup.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | return Ok(E::Fr::one()); [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 Ok(E::Fr::one()); [INFO] [stdout] 18 + Ok(E::Fr::one()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/polynomial_lookup.rs:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | &base [INFO] [stdout] | ^^^^^ help: change this to: `base` [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 `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/polynomial_lookup.rs:54:48 [INFO] [stdout] | [INFO] [stdout] 54 | num = num.add_number_with_coeff(b, c.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/as_waksman.rs:217:67 [INFO] [stdout] | [INFO] [stdout] 217 | for(i, (o, p)) in original_vector.into_iter().zip(permuted_vector.into_iter()).enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 217 - for(i, (o, p)) in original_vector.into_iter().zip(permuted_vector.into_iter()).enumerate() { [INFO] [stdout] 217 + for(i, (o, p)) in original_vector.into_iter().zip(permuted_vector).enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/as_waksman.rs:267:67 [INFO] [stdout] | [INFO] [stdout] 267 | for(i, (o, p)) in original_vector.into_iter().zip(permuted_vector.into_iter()).enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 267 - for(i, (o, p)) in original_vector.into_iter().zip(permuted_vector.into_iter()).enumerate() { [INFO] [stdout] 267 + for(i, (o, p)) in original_vector.into_iter().zip(permuted_vector).enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/poseidon_hash.rs:35:17 [INFO] [stdout] | [INFO] [stdout] 35 | &st [INFO] [stdout] | ^^^ help: change this to: `st` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/poseidon_hash.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | if input.len() % absorbtion_len != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!input.len().is_multiple_of(absorbtion_len)` [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: redundant closure [INFO] [stdout] --> src/circuit/poseidon_hash.rs:412:30 [INFO] [stdout] | [INFO] [stdout] 412 | Ok(state.into_iter().map(|el| Num::from(el)).collect()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Num::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | &leaf, [INFO] [stdout] | ^^^^^ help: change this to: `leaf` [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 `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/circuit/merkle.rs:150:48 [INFO] [stdout] | [INFO] [stdout] 150 | for (i, direction_bit) in path.clone().into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | &direction_bit [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `direction_bit` [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/circuit/merkle.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | &root [INFO] [stdout] | ^^^^^ help: change this to: `root` [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 `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/circuit/merkle.rs:205:48 [INFO] [stdout] | [INFO] [stdout] 205 | for (i, direction_bit) in path.clone().into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:221:17 [INFO] [stdout] | [INFO] [stdout] 221 | &direction_bit [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `direction_bit` [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/circuit/merkle.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | &audit_path_0, [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `audit_path_0` [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/circuit/merkle.rs:269:13 [INFO] [stdout] | [INFO] [stdout] 269 | &audit_path_1 [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `audit_path_1` [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 `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/circuit/merkle.rs:274:100 [INFO] [stdout] | [INFO] [stdout] 274 | for (i, ((direction_bit_0, direction_bit_1), intersection_bit)) in path_bits_0.clone().into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/circuit/merkle.rs:275:118 [INFO] [stdout] | [INFO] [stdout] 275 | ... .zip(path_bits_1.clone().into_iter()) [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/merkle.rs:275:98 [INFO] [stdout] | [INFO] [stdout] 275 | ... .zip(path_bits_1.clone().into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 275 - .zip(path_bits_1.clone().into_iter()) [INFO] [stdout] 275 + .zip(&*path_bits_1.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circuit/merkle.rs:276:98 [INFO] [stdout] | [INFO] [stdout] 276 | ... .zip(intersection_point_bits.into_iter()).enumerate() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 276 - .zip(intersection_point_bits.into_iter()).enumerate() [INFO] [stdout] 276 + .zip(intersection_point_bits).enumerate() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:300:21 [INFO] [stdout] | [INFO] [stdout] 300 | &direction_bit_0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `direction_bit_0` [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/circuit/merkle.rs:316:21 [INFO] [stdout] | [INFO] [stdout] 316 | &direction_bit_1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `direction_bit_1` [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/circuit/merkle.rs:374:13 [INFO] [stdout] | [INFO] [stdout] 374 | &a_bit, [INFO] [stdout] | ^^^^^^ help: change this to: `a_bit` [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/circuit/merkle.rs:375:13 [INFO] [stdout] | [INFO] [stdout] 375 | &b_bit [INFO] [stdout] | ^^^^^^ help: change this to: `b_bit` [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/circuit/merkle.rs:512:50 [INFO] [stdout] | [INFO] [stdout] 512 | num = num.add_bool_with_coeff(CS::one(), &bit, coeff); [INFO] [stdout] | ^^^^ help: change this to: `bit` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/merkle.rs:542:17 [INFO] [stdout] | [INFO] [stdout] 542 | assert!(height % bits_per_level == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `height.is_multiple_of(bits_per_level)` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:596:13 [INFO] [stdout] | [INFO] [stdout] 596 | &msb [INFO] [stdout] | ^^^^ help: change this to: `msb` [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/circuit/merkle.rs:602:13 [INFO] [stdout] | [INFO] [stdout] 602 | &lsb, [INFO] [stdout] | ^^^^ help: change this to: `lsb` [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/circuit/merkle.rs:603:13 [INFO] [stdout] | [INFO] [stdout] 603 | &msb [INFO] [stdout] | ^^^^ help: change this to: `msb` [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/circuit/merkle.rs:629:13 [INFO] [stdout] | [INFO] [stdout] 629 | &leaf [INFO] [stdout] | ^^^^^ help: change this to: `leaf` [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/circuit/merkle.rs:652:13 [INFO] [stdout] | [INFO] [stdout] 652 | &children, [INFO] [stdout] | ^^^^^^^^^ help: change this to: `children` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/merkle.rs:702:17 [INFO] [stdout] | [INFO] [stdout] 702 | assert!(path.len() % self.path_bits_per_level() == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `path.len().is_multiple_of(self.path_bits_per_level())` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:714:47 [INFO] [stdout] | [INFO] [stdout] 714 | path_to_shuffle.extend_from_slice(&path_elements); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `path_elements` [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/circuit/merkle.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 763 | &root [INFO] [stdout] | ^^^^^ help: change this to: `root` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/circuit/merkle.rs:786:17 [INFO] [stdout] | [INFO] [stdout] 786 | assert!(path.len() % self.path_bits_per_level() == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `path.len().is_multiple_of(self.path_bits_per_level())` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/circuit/merkle.rs:798:47 [INFO] [stdout] | [INFO] [stdout] 798 | path_to_shuffle.extend_from_slice(&path_elements); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `path_elements` [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: redundant slicing of the whole range [INFO] [stdout] --> src/circuit/merkle.rs:875:62 [INFO] [stdout] | [INFO] [stdout] 875 | let hash = poseidon::poseidon_hash::(¶ms, &chunk[..]); [INFO] [stdout] | ^^^^^^^^^^ help: use the original value instead: `chunk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] = note: `#[warn(clippy::redundant_slicing)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fr` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/merkle.rs:907:25 [INFO] [stdout] | [INFO] [stdout] 907 | leaf_hashes[12].clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `leaf_hashes[12]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fr` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/merkle.rs:908:25 [INFO] [stdout] | [INFO] [stdout] 908 | leaf_hashes[13].clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `leaf_hashes[13]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fr` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/merkle.rs:909:25 [INFO] [stdout] | [INFO] [stdout] 909 | leaf_hashes[14].clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `leaf_hashes[14]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fr` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/merkle.rs:910:25 [INFO] [stdout] | [INFO] [stdout] 910 | node_hashes_1[0].clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node_hashes_1[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fr` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/merkle.rs:911:25 [INFO] [stdout] | [INFO] [stdout] 911 | node_hashes_1[1].clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node_hashes_1[1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fr` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/merkle.rs:912:25 [INFO] [stdout] | [INFO] [stdout] 912 | node_hashes_1[2].clone()].into_iter().enumerate().map(|(i, el)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node_hashes_1[2]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `::Fs` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/sapling/mod.rs:184:60 [INFO] [stdout] | [INFO] [stdout] 184 | self.proof_generation_key.as_ref().map(|k| k.nsk.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `k.nsk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fs` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/sapling/mod.rs:629:18 [INFO] [stdout] | [INFO] [stdout] 629 | nsk: nsk.clone() [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nsk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fs` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/sapling/mod.rs:661:20 [INFO] [stdout] | [INFO] [stdout] 661 | r: commitment_randomness.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `commitment_randomness` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fr` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/sapling/mod.rs:666:27 [INFO] [stdout] | [INFO] [stdout] 666 | let mut cur = cm.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `cm` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fs` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/sapling/mod.rs:759:18 [INFO] [stdout] | [INFO] [stdout] 759 | nsk: nsk.clone() [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nsk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fs` which implements the `Copy` trait [INFO] [stdout] --> src/circuit/sapling/mod.rs:790:27 [INFO] [stdout] | [INFO] [stdout] 790 | esk: Some(esk.clone()) [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `esk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/circuit/sprout/prfs.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / let mut image = vec![]; [INFO] [stdout] 25 | | image.push(Boolean::constant(a)); [INFO] [stdout] 26 | | image.push(Boolean::constant(b)); [INFO] [stdout] 27 | | image.push(Boolean::constant(c)); [INFO] [stdout] 28 | | image.push(Boolean::constant(d)); [INFO] [stdout] | |_____________________________________^ help: consider using the `vec![]` macro: `let mut image = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/circuit/sprout/commitment.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / let mut image = vec![]; [INFO] [stdout] 25 | | image.push(Boolean::constant(true)); [INFO] [stdout] 26 | | image.push(Boolean::constant(false)); [INFO] [stdout] 27 | | image.push(Boolean::constant(true)); [INFO] [stdout] ... | [INFO] [stdout] 31 | | image.push(Boolean::constant(false)); [INFO] [stdout] 32 | | image.push(Boolean::constant(false)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let mut image = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/circuit/sprout/input.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | / pub fn compute( [INFO] [stdout] 22 | | mut cs: CS, [INFO] [stdout] 23 | | a_sk: Option, [INFO] [stdout] 24 | | rho: Option, [INFO] [stdout] ... | [INFO] [stdout] 31 | | ) -> Result [INFO] [stdout] 32 | | where E: Engine, CS: ConstraintSystem [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: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/circuit/sprout/input.rs:89:37 [INFO] [stdout] | [INFO] [stdout] 89 | layer.as_ref().map(|&(ref sibling, _)| &sibling[..]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 89 - layer.as_ref().map(|&(ref sibling, _)| &sibling[..]) [INFO] [stdout] 89 + layer.as_ref().map(|(sibling, _)| &sibling[..]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/circuit/sprout/output.rs:14:20 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn compute<'a, E, CS>( [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/circuit/sprout/mod.rs:278:23 [INFO] [stdout] | [INFO] [stdout] 278 | .map(|e| Boolean::from(e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Boolean::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `result` [INFO] [stdout] --> src/circuit/sprout/mod.rs:368:18 [INFO] [stdout] | [INFO] [stdout] 368 | 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] 368 - for i in 0..32 { [INFO] [stdout] 368 + for in &mut result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/circuit/sprout/mod.rs:375:11 [INFO] [stdout] | [INFO] [stdout] 375 | while test_vector.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!test_vector.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `auth_path` [INFO] [stdout] --> src/circuit/sprout/mod.rs:395:22 [INFO] [stdout] | [INFO] [stdout] 395 | for i in 0..TREE_DEPTH { [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] 395 - for i in 0..TREE_DEPTH { [INFO] [stdout] 395 + for in auth_path.iter_mut().take(TREE_DEPTH) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/circuit/sprout/mod.rs:396:17 [INFO] [stdout] | [INFO] [stdout] 396 | / auth_path[i].as_mut().map(|p| { [INFO] [stdout] 397 | | p.1 = (position & 1) == 1 [INFO] [stdout] 398 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 396 - auth_path[i].as_mut().map(|p| { [INFO] [stdout] 397 - p.1 = (position & 1) == 1 [INFO] [stdout] 398 - }); [INFO] [stdout] 396 + if let Some(p) = auth_path[i].as_mut() { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `unwrap()` on `Some` value [INFO] [stdout] --> src/circuit/sprout/mod.rs:471:32 [INFO] [stdout] | [INFO] [stdout] 471 | expected_inputs.extend(rt.unwrap().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the `Some` and `unwrap()` [INFO] [stdout] --> src/circuit/sprout/mod.rs:379:18 [INFO] [stdout] | [INFO] [stdout] 379 | let rt = Some(get_u256(&mut test_vector)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_literal_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_literal_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `unwrap()` on `Some` value [INFO] [stdout] --> src/circuit/sprout/mod.rs:472:32 [INFO] [stdout] | [INFO] [stdout] 472 | expected_inputs.extend(h_sig.unwrap().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the `Some` and `unwrap()` [INFO] [stdout] --> src/circuit/sprout/mod.rs:380:21 [INFO] [stdout] | [INFO] [stdout] 380 | let h_sig = Some(get_u256(&mut test_vector)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_literal_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `unwrap()` on `Some` value [INFO] [stdout] --> src/circuit/sprout/mod.rs:479:51 [INFO] [stdout] | [INFO] [stdout] 479 | expected_inputs.write_u64::(vpub_old.unwrap()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the `Some` and `unwrap()` [INFO] [stdout] --> src/circuit/sprout/mod.rs:438:24 [INFO] [stdout] | [INFO] [stdout] 438 | let vpub_old = Some(test_vector.read_u64::().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_literal_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `unwrap()` on `Some` value [INFO] [stdout] --> src/circuit/sprout/mod.rs:480:51 [INFO] [stdout] | [INFO] [stdout] 480 | expected_inputs.write_u64::(vpub_new.unwrap()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the `Some` and `unwrap()` [INFO] [stdout] --> src/circuit/sprout/mod.rs:439:24 [INFO] [stdout] | [INFO] [stdout] 439 | let vpub_new = Some(test_vector.read_u64::().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_literal_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/baby_pedersen_hash.rs:32:65 [INFO] [stdout] | [INFO] [stdout] 32 | let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 32 - let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] 32 + let mut bits = personalization.get_bits().into_iter().chain(bits); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/baby_pedersen_hash.rs:82:55 [INFO] [stdout] | [INFO] [stdout] 82 | let mut table: &[Vec>] = &generators.next().expect("we don't have enough generators"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `generators.next().expect("we don't have enough generators")` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/pedersen_hash.rs:32:65 [INFO] [stdout] | [INFO] [stdout] 32 | let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 32 - let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] 32 + let mut bits = personalization.get_bits().into_iter().chain(bits); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pedersen_hash.rs:82:55 [INFO] [stdout] | [INFO] [stdout] 82 | let mut table: &[Vec>] = &generators.next().expect("we don't have enough generators"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `generators.next().expect("we don't have enough generators")` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/pedersen_hash.rs:115:65 [INFO] [stdout] | [INFO] [stdout] 115 | let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 115 - let mut bits = personalization.get_bits().into_iter().chain(bits.into_iter()); [INFO] [stdout] 115 + let mut bits = personalization.get_bits().into_iter().chain(bits); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pedersen_hash.rs:165:55 [INFO] [stdout] | [INFO] [stdout] 165 | let mut table: &[Vec>] = &generators.next().expect("we don't have enough generators"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `generators.next().expect("we don't have enough generators")` [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 borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/primitives/mod.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | (&mut note_contents).write_u64::(self.value).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `note_contents` [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/eddsa.rs:115:42 [INFO] [stdout] | [INFO] [stdout] 115 | let pk = PublicKey::from_private(&self, p_g, params); [INFO] [stdout] | ^^^^^ help: change this to: `self` [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: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:131:43 [INFO] [stdout] | [INFO] [stdout] 131 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] = note: `#[warn(clippy::iter_cloned_collect)]` 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/eddsa.rs:165:42 [INFO] [stdout] | [INFO] [stdout] 165 | let pk = PublicKey::from_private(&self, p_g, params); [INFO] [stdout] | ^^^^^ help: change this to: `self` [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: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:183:48 [INFO] [stdout] | [INFO] [stdout] 183 | let concatenated: Vec = r_g_x_bytes.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:185:43 [INFO] [stdout] | [INFO] [stdout] 185 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/eddsa.rs:216:42 [INFO] [stdout] | [INFO] [stdout] 216 | let pk = PublicKey::from_private(&self, p_g, params); [INFO] [stdout] | ^^^^^ help: change this to: `self` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/eddsa.rs:239:29 [INFO] [stdout] | [INFO] [stdout] 239 | concatenated.extend(r_g_x_bytes.as_ref().to_vec().into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 239 - concatenated.extend(r_g_x_bytes.as_ref().to_vec().into_iter()); [INFO] [stdout] 239 + concatenated.extend(r_g_x_bytes.as_ref().to_vec()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:241:43 [INFO] [stdout] | [INFO] [stdout] 241 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/eddsa.rs:270:42 [INFO] [stdout] | [INFO] [stdout] 270 | let pk = PublicKey::from_private(&self, p_g, params); [INFO] [stdout] | ^^^^^ help: change this to: `self` [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: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:396:43 [INFO] [stdout] | [INFO] [stdout] 396 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:439:48 [INFO] [stdout] | [INFO] [stdout] 439 | let concatenated: Vec = r_g_x_bytes.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:441:43 [INFO] [stdout] | [INFO] [stdout] 441 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/eddsa.rs:492:29 [INFO] [stdout] | [INFO] [stdout] 492 | concatenated.extend(r_g_x_bytes.as_ref().to_vec().into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 492 - concatenated.extend(r_g_x_bytes.as_ref().to_vec().into_iter()); [INFO] [stdout] 492 + concatenated.extend(r_g_x_bytes.as_ref().to_vec()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/eddsa.rs:494:43 [INFO] [stdout] | [INFO] [stdout] 494 | let mut msg_padded : Vec = msg.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interpolation.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | diff.sub_assign(&x_j); [INFO] [stdout] | ^^^^ help: change this to: `x_j` [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/interpolation.rs:36:92 [INFO] [stdout] | [INFO] [stdout] 36 | contribution.get_mut(0).expect("must have enough coefficients").sub_assign(&x_j); [INFO] [stdout] | ^^^^ help: change this to: `x_j` [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/interpolation.rs:41:36 [INFO] [stdout] | [INFO] [stdout] 41 | tmp.mul_assign(&x_j); [INFO] [stdout] | ^^^^ help: change this to: `x_j` [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/interpolation.rs:53:34 [INFO] [stdout] | [INFO] [stdout] 53 | c.add_assign(&other); [INFO] [stdout] | ^^^^^^ help: change this to: `other` [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/interpolation.rs:63:28 [INFO] [stdout] | [INFO] [stdout] 63 | tmp.mul_assign(&y_k); [INFO] [stdout] | ^^^^ help: change this to: `y_k` [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 `::Fr` which implements the `Copy` trait [INFO] [stdout] --> src/interpolation.rs:79:23 [INFO] [stdout] | [INFO] [stdout] 79 | let mut tmp = c.clone(); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: 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/interpolation.rs:83:24 [INFO] [stdout] | [INFO] [stdout] 83 | pow.mul_assign(&x); [INFO] [stdout] | ^^ help: change this to: `x` [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/interpolation.rs:101:66 [INFO] [stdout] | [INFO] [stdout] 101 | let val = evaluate_at_x::(&interpolation_res[..], &x); [INFO] [stdout] | ^^ help: change this to: `x` [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 `Fr` which implements the `Copy` trait [INFO] [stdout] --> src/interpolation.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | let y = power.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `power` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `interpolation_res.get(0)` [INFO] [stdout] --> src/interpolation.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | assert_eq!(*interpolation_res.get(0).unwrap(), Fr::one()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `interpolation_res.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interpolation.rs:129:66 [INFO] [stdout] | [INFO] [stdout] 129 | let val = evaluate_at_x::(&interpolation_res[..], &x); [INFO] [stdout] | ^^ help: change this to: `x` [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: usage of a legacy numeric constant [INFO] [stdout] --> src/as_waksman.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | const EMPTY_STATE: usize = std::usize::MAX; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 5 - const EMPTY_STATE: usize = std::usize::MAX; [INFO] [stdout] 5 + const EMPTY_STATE: usize = usize::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/as_waksman.rs:100:33 [INFO] [stdout] | [INFO] [stdout] 100 | subdestinations[(top_idx as usize) - low] = idx; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `top_idx` [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/as_waksman.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | subdestinations[(bottom_idx as usize) - low] = idx + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `bottom_idx` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/as_waksman.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | assert!(relative_position % 2 == 0 && relative_position + 1 < size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `relative_position.is_multiple_of(2)` [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: length comparison to zero [INFO] [stdout] --> src/as_waksman.rs:240:12 [INFO] [stdout] | [INFO] [stdout] 240 | if self.elements.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.elements.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/as_waksman.rs:285:20 [INFO] [stdout] | [INFO] [stdout] 285 | let mask = std::usize::MAX - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 285 - let mask = std::usize::MAX - 1; [INFO] [stdout] 285 + let mask = usize::MAX - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&lhs_switch).is_none()` [INFO] [stdout] --> src/as_waksman.rs:424:39 [INFO] [stdout] | [INFO] [stdout] 424 | if switches[left].get(&lhs_switch).is_none() [INFO] [stdout] | ---------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!switches[left].contains_key(&lhs_switch)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&rhs_switch).is_none()` [INFO] [stdout] --> src/as_waksman.rs:450:49 [INFO] [stdout] | [INFO] [stdout] 450 | assert!(switches[right].get(&rhs_switch).is_none()); [INFO] [stdout] | ----------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!switches[right].contains_key(&rhs_switch)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&rhs_switch).is_some()` [INFO] [stdout] --> src/as_waksman.rs:471:45 [INFO] [stdout] | [INFO] [stdout] 471 | assert!(switches[right].get(&rhs_switch).is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(&rhs_switch)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/as_waksman.rs:474:101 [INFO] [stdout] | [INFO] [stdout] 474 | ...tom_decision(low, permutation_inversed.get(to_route) as usize, should_use_top); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `permutation_inversed.get(to_route)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/as_waksman.rs:517:16 [INFO] [stdout] | [INFO] [stdout] 517 | if rows_to_generate % 2 == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `rows_to_generate.is_multiple_of(2)` [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: called `unwrap` on `a` after checking its variant with `is_some` [INFO] [stdout] --> src/as_waksman.rs:565:26 [INFO] [stdout] | [INFO] [stdout] 564 | let switch_setting = if a.is_some() { [INFO] [stdout] | -------------- help: try: `if let Some() = a` [INFO] [stdout] 565 | *a.unwrap() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/as_waksman.rs:550:17 [INFO] [stdout] | [INFO] [stdout] 550 | let routed_index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [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 `routed_index` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 550 ~ [INFO] [stdout] 551 ~ let routed_index = if topology.topology[column_idx][packet_idx].0 == topology.topology[column_idx][packet_idx].1 { [INFO] [stdout] 552 | // straight switch [INFO] [stdout] 553 ~ topology.topology[column_idx][packet_idx].0 [INFO] [stdout] 554 | } [INFO] [stdout] ... [INFO] [stdout] 569 | [INFO] [stdout] 570 ~ if switch_setting { [INFO] [stdout] 571 | topology.topology[column_idx][packet_idx].1 [INFO] [stdout] 572 | } else { [INFO] [stdout] 573 | topology.topology[column_idx][packet_idx].0 [INFO] [stdout] 574 ~ } [INFO] [stdout] 575 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::iter::Cloned>` [INFO] [stdout] --> src/as_waksman.rs:601:28 [INFO] [stdout] | [INFO] [stdout] 601 | let mut keys = column.keys().cloned().into_iter().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `column.keys().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::iter::Cloned>` [INFO] [stdout] --> src/as_waksman.rs:615:28 [INFO] [stdout] | [INFO] [stdout] 615 | let mut keys = column.keys().cloned().into_iter().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `column.keys().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `a` after checking its variant with `is_some` [INFO] [stdout] --> src/as_waksman.rs:655:26 [INFO] [stdout] | [INFO] [stdout] 654 | let switch_setting = if a.is_some() { [INFO] [stdout] | -------------- help: try: `if let Some() = a` [INFO] [stdout] 655 | *a.unwrap() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/as_waksman.rs:640:17 [INFO] [stdout] | [INFO] [stdout] 640 | let routed_into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [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 `routed_into` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 640 ~ [INFO] [stdout] 641 ~ let routed_into = if topology.topology[column_idx][packet_idx].0 == topology.topology[column_idx][packet_idx].1 { [INFO] [stdout] 642 | // straight switch [INFO] [stdout] 643 ~ topology.topology[column_idx][packet_idx].0 [INFO] [stdout] 644 | } [INFO] [stdout] ... [INFO] [stdout] 659 | [INFO] [stdout] 660 ~ if switch_setting { [INFO] [stdout] 661 | topology.topology[column_idx][packet_idx].1 [INFO] [stdout] 662 | } else { [INFO] [stdout] 663 | topology.topology[column_idx][packet_idx].0 [INFO] [stdout] 664 ~ } [INFO] [stdout] 665 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `hists` [INFO] [stdout] --> src/as_waksman.rs:793:18 [INFO] [stdout] | [INFO] [stdout] 793 | for i in 0..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] 793 - for i in 0..size { [INFO] [stdout] 793 + for (i, ) in hists.iter_mut().enumerate().take(size) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `hists` [INFO] [stdout] --> src/as_waksman.rs:811:14 [INFO] [stdout] | [INFO] [stdout] 811 | for i in 0..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] 811 - for i in 0..size { [INFO] [stdout] 811 + for (i, ) in hists.iter().enumerate().take(size) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `seed` [INFO] [stdout] --> src/poseidon/bn256.rs:122:26 [INFO] [stdout] | [INFO] [stdout] 122 | 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 [INFO] [stdout] | [INFO] [stdout] 122 - for i in 0..8 { [INFO] [stdout] 122 + for in &mut seed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/poseidon/mod.rs:62:24 [INFO] [stdout] | [INFO] [stdout] 62 | tmp.mul_assign(&g); [INFO] [stdout] | ^^ help: change this to: `g` [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/poseidon/mod.rs:80:27 [INFO] [stdout] | [INFO] [stdout] 80 | newtmp.mul_assign(&g); [INFO] [stdout] | ^^ help: change this to: `g` [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 only used to index `x` [INFO] [stdout] --> src/poseidon/mod.rs:304:18 [INFO] [stdout] | [INFO] [stdout] 304 | for i in 0..(t 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] 304 - for i in 0..(t as usize) { [INFO] [stdout] 304 + for in x.iter().take((t as usize)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/circuit/sha256.rs:198:21 [INFO] [stdout] | [INFO] [stdout] 198 | let temp1 = vec![ [INFO] [stdout] | _____________________^ [INFO] [stdout] 199 | | h.clone(), [INFO] [stdout] 200 | | s1, [INFO] [stdout] 201 | | ch, [INFO] [stdout] 202 | | UInt32::constant(ROUND_CONSTANTS[i]), [INFO] [stdout] 203 | | w[i].clone() [INFO] [stdout] 204 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 198 ~ let temp1 = [h.clone(), [INFO] [stdout] 199 + s1, [INFO] [stdout] 200 + ch, [INFO] [stdout] 201 + UInt32::constant(ROUND_CONSTANTS[i]), [INFO] [stdout] 202 ~ w[i].clone()]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/circuit/sha256.rs:227:21 [INFO] [stdout] | [INFO] [stdout] 227 | let temp2 = vec![s0, maj]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[s0, maj]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/interpolation.rs:92:18 [INFO] [stdout] | [INFO] [stdout] 92 | let points = vec![(Fr::zero(), Fr::one()), (Fr::one(), Fr::from_str("2").unwrap())]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[(Fr::zero(), Fr::one()), (Fr::one(), Fr::from_str("2").unwrap())]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/jubjub/edwards.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Point` [INFO] [stdout] 35 | pub struct Point { [INFO] [stdout] | ----- `Point` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/jubjub/edwards.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Point` [INFO] [stdout] 35 | pub struct Point { [INFO] [stdout] | ----- `Point` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/circuit/blake2s.rs:345:27 [INFO] [stdout] | [INFO] [stdout] 345 | for b in expected.into_iter() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 345 - for b in expected.into_iter() { [INFO] [stdout] 345 + for b in expected.iter() { [INFO] [stdout] | [INFO] [stdout] help: or remove `.into_iter()` to iterate by value [INFO] [stdout] | [INFO] [stdout] 345 - for b in expected.into_iter() { [INFO] [stdout] 345 + for b in expected { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/circuit/sha256.rs:333:27 [INFO] [stdout] | [INFO] [stdout] 333 | for b in expected.into_iter() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 333 - for b in expected.into_iter() { [INFO] [stdout] 333 + for b in expected.iter() { [INFO] [stdout] | [INFO] [stdout] help: or remove `.into_iter()` to iterate by value [INFO] [stdout] | [INFO] [stdout] 333 - for b in expected.into_iter() { [INFO] [stdout] 333 + for b in expected { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/circuit/merkle.rs:150:39 [INFO] [stdout] | [INFO] [stdout] 150 | for (i, direction_bit) in path.clone().into_iter() [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[circuit::boolean::Boolean]` does not implement `Clone`, so calling `clone` on `&[circuit::boolean::Boolean]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/circuit/merkle.rs:205:39 [INFO] [stdout] | [INFO] [stdout] 205 | for (i, direction_bit) in path.clone().into_iter() [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[circuit::boolean::Boolean]` does not implement `Clone`, so calling `clone` on `&[circuit::boolean::Boolean]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/circuit/merkle.rs:274:91 [INFO] [stdout] | [INFO] [stdout] 274 | for (i, ((direction_bit_0, direction_bit_1), intersection_bit)) in path_bits_0.clone().into_iter() [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[circuit::boolean::Boolean]` does not implement `Clone`, so calling `clone` on `&[circuit::boolean::Boolean]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/circuit/merkle.rs:275:109 [INFO] [stdout] | [INFO] [stdout] 275 | ... .zip(path_bits_1.clone().into_iter()) [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[circuit::boolean::Boolean]` does not implement `Clone`, so calling `clone` on `&[circuit::boolean::Boolean]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.83s [INFO] running `Command { std: "docker" "inspect" "3d5378d80353e58ec84f06f93a2deb2ec27b7825f7a10957cf97336630bb5bf3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d5378d80353e58ec84f06f93a2deb2ec27b7825f7a10957cf97336630bb5bf3", kill_on_drop: false }` [INFO] [stdout] 3d5378d80353e58ec84f06f93a2deb2ec27b7825f7a10957cf97336630bb5bf3