[INFO] fetching crate fullcodec-bls12_381 0.2.0... [INFO] linting fullcodec-bls12_381-0.2.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate fullcodec-bls12_381 0.2.0 into /workspace/builds/worker-7-tc1/source [INFO] removed /workspace/builds/worker-7-tc1/source/rust-toolchain [INFO] started tweaking crates.io crate fullcodec-bls12_381 0.2.0 [INFO] finished tweaking crates.io crate fullcodec-bls12_381 0.2.0 [INFO] tweaked toml for crates.io crate fullcodec-bls12_381 0.2.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fullcodec-bls12_381 0.2.0 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 91 packages to latest compatible versions [INFO] [stderr] Adding bincode v1.3.3 (available: v3.0.0) [INFO] [stderr] Adding canonical v0.6.6 (available: v0.7.1) [INFO] [stderr] Adding canonical_derive v0.6.0 (available: v0.7.0) [INFO] [stderr] Adding criterion v0.2.11 (available: v0.8.2) [INFO] [stderr] Adding parity-scale-codec v2.3.1 (available: v3.7.5) [INFO] [stderr] Adding rand_core v0.6.4 (available: v0.10.0) [INFO] [stderr] Adding sp-std v3.0.0 (available: v14.0.0) [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] Downloading crates ... [INFO] [stderr] Downloaded cast v0.2.7 [INFO] [stderr] Downloaded rand_xoshiro v0.1.0 [INFO] [stderr] Downloaded sp-std v3.0.0 [INFO] [stderr] Downloaded canonical v0.6.6 [INFO] [stderr] Downloaded criterion-plot v0.3.1 [INFO] [stderr] Downloaded fullcodec-subtle v0.2.0 [INFO] [stderr] Downloaded dusk-varint v0.1.0 [INFO] [stderr] Downloaded blake2b_simd v0.3.1 [INFO] [stderr] Downloaded criterion v0.2.11 [INFO] [stderr] Downloaded canonical_derive v0.6.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] c6ff6bc270d090278ef222e7a0179867f2ab534f39bfd514f9bdadd141127355 [INFO] running `Command { std: "docker" "start" "-a" "c6ff6bc270d090278ef222e7a0179867f2ab534f39bfd514f9bdadd141127355", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c6ff6bc270d090278ef222e7a0179867f2ab534f39bfd514f9bdadd141127355", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c6ff6bc270d090278ef222e7a0179867f2ab534f39bfd514f9bdadd141127355", kill_on_drop: false }` [INFO] [stdout] c6ff6bc270d090278ef222e7a0179867f2ab534f39bfd514f9bdadd141127355 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] c42f6447a7606f5ca12556e0e63a13a24f3dd5a51e933084101018a4c8dd1400 [INFO] running `Command { std: "docker" "start" "-a" "c42f6447a7606f5ca12556e0e63a13a24f3dd5a51e933084101018a4c8dd1400", kill_on_drop: false }` [INFO] [stderr] warning: invalid feature `groups` in required-features of target `groups`: `groups` is not present in [features] section [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling winnow v0.5.40 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking byte-slice-cast v1.2.3 [INFO] [stderr] Checking itertools v0.8.2 [INFO] [stderr] Checking csv-core v0.1.13 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking sp-std v3.0.0 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking rand_xoshiro v0.1.0 [INFO] [stderr] Checking criterion-plot v0.3.1 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking csv v1.4.0 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling parity-scale-codec-derive v2.3.1 [INFO] [stderr] Compiling derive-hex v0.1.2 [INFO] [stderr] Checking dusk-bytes v0.1.7 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling impl-trait-for-tuples v0.2.3 [INFO] [stderr] Checking parity-scale-codec v2.3.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking fullcodec-subtle v0.2.0 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking fullcodec-bls12_381 v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking criterion v0.2.11 [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/lib.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | #![cfg_attr(not(feature = "std"), no_std)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | //! return ((x-1)**2) // 3 [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] = note: `#[warn(clippy::tabs_in_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | //! assert(not v.is_zero()) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | //! a = sqrt(v) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | //! b = -a [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | //! if a < b: [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | //! return a [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | //! else: [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | //! return b [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | //! rhs = Fq(x)^3 + 4 [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | //! if rhs.is_square(): [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | //! y = psqrt(rhs) [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | //! p = ec(x, y) * g1_h(param) [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | //! if (not p.is_zero()) and (p * r).is_zero(): [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | //! print("g1 generator: {}".format(p)) [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | //! break [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | //! rhs = (Fq2(x))^3 + (4 * (1 + i)) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | //! if rhs.is_square(): [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | //! y = psqrt(rhs) [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | //! p = ec2(Fq2(x), y) * g2_h(param) [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | //! if not p.is_zero() and (p * r).is_zero(): [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | //! print("g2 generator: {}".format(p)) [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | //! break [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/scalar.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/scalar.rs:137:7 [INFO] [stdout] | [INFO] [stdout] 137 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/scalar.rs:152:7 [INFO] [stdout] | [INFO] [stdout] 152 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/scalar.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp.rs:65:7 [INFO] [stdout] | [INFO] [stdout] 65 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp.rs:80:7 [INFO] [stdout] | [INFO] [stdout] 80 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/fp.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp2.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp2.rs:61:7 [INFO] [stdout] | [INFO] [stdout] 61 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp2.rs:74:7 [INFO] [stdout] | [INFO] [stdout] 74 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/fp2.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g1.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g1.rs:177:7 [INFO] [stdout] | [INFO] [stdout] 177 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g1.rs:192:7 [INFO] [stdout] | [INFO] [stdout] 192 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/g1.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g2.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g2.rs:228:7 [INFO] [stdout] | [INFO] [stdout] 228 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g2.rs:243:7 [INFO] [stdout] | [INFO] [stdout] 243 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/g2.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:894:11 [INFO] [stdout] | [INFO] [stdout] 894 | #[cfg(feature = "endo")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:938:11 [INFO] [stdout] | [INFO] [stdout] 938 | #[cfg(feature = "endo")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:964:11 [INFO] [stdout] | [INFO] [stdout] 964 | #[cfg(feature = "endo")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:993:15 [INFO] [stdout] | [INFO] [stdout] 993 | #[cfg(feature = "endo")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:1005:19 [INFO] [stdout] | [INFO] [stdout] 1005 | #[cfg(not(feature = "endo"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/fp12.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp6.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp6.rs:70:7 [INFO] [stdout] | [INFO] [stdout] 70 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp6.rs:84:7 [INFO] [stdout] | [INFO] [stdout] 84 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/fp6.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/pairings.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/pairings.rs:404:7 [INFO] [stdout] | [INFO] [stdout] 404 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/pairings.rs:420:7 [INFO] [stdout] | [INFO] [stdout] 420 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/pairings.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/pairings.rs:516:17 [INFO] [stdout] | [INFO] [stdout] 516 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/pairings.rs:519:17 [INFO] [stdout] | [INFO] [stdout] 519 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/pairings.rs:522:17 [INFO] [stdout] | [INFO] [stdout] 522 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/multiscalar_mul.rs:276:7 [INFO] [stdout] | [INFO] [stdout] 276 | #[cfg(feature = "std")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/scalar.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | Some(self.cmp(&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] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:213:6 [INFO] [stdout] | [INFO] [stdout] 213 | impl<'a> Neg for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 213 - impl<'a> Neg for &'a Scalar { [INFO] [stdout] 213 + impl Neg for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:231:6 [INFO] [stdout] | [INFO] [stdout] 231 | impl<'a, 'b> Sub<&'b Scalar> for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 231 - impl<'a, 'b> Sub<&'b Scalar> for &'a Scalar { [INFO] [stdout] 231 + impl<'b> Sub<&'b Scalar> for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:240:6 [INFO] [stdout] | [INFO] [stdout] 240 | impl<'a, 'b> Add<&'b Scalar> for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 240 - impl<'a, 'b> Add<&'b Scalar> for &'a Scalar { [INFO] [stdout] 240 + impl<'b> Add<&'b Scalar> for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:249:6 [INFO] [stdout] | [INFO] [stdout] 249 | impl<'a, 'b> Mul<&'b Scalar> for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 249 - impl<'a, 'b> Mul<&'b Scalar> for &'a Scalar { [INFO] [stdout] 249 + impl<'b> Mul<&'b Scalar> for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:258:6 [INFO] [stdout] | [INFO] [stdout] 258 | impl<'a, 'b> BitXor<&'b Scalar> for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 258 - impl<'a, 'b> BitXor<&'b Scalar> for &'a Scalar { [INFO] [stdout] 258 + impl<'b> BitXor<&'b Scalar> for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:281:6 [INFO] [stdout] | [INFO] [stdout] 281 | impl<'a, 'b> BitAnd<&'b Scalar> for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 281 - impl<'a, 'b> BitAnd<&'b Scalar> for &'a Scalar { [INFO] [stdout] 281 + impl<'b> BitAnd<&'b Scalar> for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/scalar.rs:471:9 [INFO] [stdout] | [INFO] [stdout] 471 | (&Scalar(val)).mul(&R2) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `Scalar(val)` [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/scalar.rs:764:9 [INFO] [stdout] | [INFO] [stdout] 764 | (&Scalar([r4, r5, r6, r7])).sub(&MODULUS) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `Scalar([r4, r5, r6, r7])` [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/scalar.rs:823:9 [INFO] [stdout] | [INFO] [stdout] 823 | (&Scalar([d0, d1, d2, d3])).sub(&MODULUS) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `Scalar([d0, d1, d2, d3])` [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 following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp.rs:164:6 [INFO] [stdout] | [INFO] [stdout] 164 | impl<'a> Neg for &'a Fp { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 164 - impl<'a> Neg for &'a Fp { [INFO] [stdout] 164 + impl Neg for &Fp { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp.rs:182:6 [INFO] [stdout] | [INFO] [stdout] 182 | impl<'a, 'b> Sub<&'b Fp> for &'a Fp { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 182 - impl<'a, 'b> Sub<&'b Fp> for &'a Fp { [INFO] [stdout] 182 + impl<'b> Sub<&'b Fp> for &Fp { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp.rs:191:6 [INFO] [stdout] | [INFO] [stdout] 191 | impl<'a, 'b> Add<&'b Fp> for &'a Fp { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 191 - impl<'a, 'b> Add<&'b Fp> for &'a Fp { [INFO] [stdout] 191 + impl<'b> Add<&'b Fp> for &Fp { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp.rs:200:6 [INFO] [stdout] | [INFO] [stdout] 200 | impl<'a, 'b> Mul<&'b Fp> for &'a Fp { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 200 - impl<'a, 'b> Mul<&'b Fp> for &'a Fp { [INFO] [stdout] 200 + impl<'b> Mul<&'b Fp> for &Fp { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods with the following characteristics: (`to_*` and `self` type is `Copy`) usually take `self` by value [INFO] [stdout] --> src/fp.rs:263:21 [INFO] [stdout] | [INFO] [stdout] 263 | pub fn to_bytes(&self) -> [u8; 48] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/fp.rs:407:9 [INFO] [stdout] | [INFO] [stdout] 407 | (&Fp([d0, d1, d2, d3, d4, d5])).subtract_p() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `Fp([d0, d1, d2, d3, d4, d5])` [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/fp.rs:437:9 [INFO] [stdout] | [INFO] [stdout] 437 | (&rhs.neg()).add(self) [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `rhs.neg()` [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/fp.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | (&Fp([r6, r7, r8, r9, r10, r11])).subtract_p() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `Fp([r6, r7, r8, r9, r10, r11])` [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 following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp2.rs:155:6 [INFO] [stdout] | [INFO] [stdout] 155 | impl<'a> Neg for &'a Fp2 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 155 - impl<'a> Neg for &'a Fp2 { [INFO] [stdout] 155 + impl Neg for &Fp2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp2.rs:173:6 [INFO] [stdout] | [INFO] [stdout] 173 | impl<'a, 'b> Sub<&'b Fp2> for &'a Fp2 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 173 - impl<'a, 'b> Sub<&'b Fp2> for &'a Fp2 { [INFO] [stdout] 173 + impl<'b> Sub<&'b Fp2> for &Fp2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp2.rs:182:6 [INFO] [stdout] | [INFO] [stdout] 182 | impl<'a, 'b> Add<&'b Fp2> for &'a Fp2 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 182 - impl<'a, 'b> Add<&'b Fp2> for &'a Fp2 { [INFO] [stdout] 182 + impl<'b> Add<&'b Fp2> for &Fp2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp2.rs:191:6 [INFO] [stdout] | [INFO] [stdout] 191 | impl<'a, 'b> Mul<&'b Fp2> for &'a Fp2 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 191 - impl<'a, 'b> Mul<&'b Fp2> for &'a Fp2 { [INFO] [stdout] 191 + impl<'b> Mul<&'b Fp2> for &Fp2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/fp2.rs:280:17 [INFO] [stdout] | [INFO] [stdout] 280 | let a = (&self.c0).add(&self.c1); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:281:17 [INFO] [stdout] | [INFO] [stdout] 281 | let b = (&self.c0).sub(&self.c1); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 282 | let c = (&self.c0).add(&self.c0); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:285:17 [INFO] [stdout] | [INFO] [stdout] 285 | c0: (&a).mul(&b), [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 borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/fp2.rs:286:17 [INFO] [stdout] | [INFO] [stdout] 286 | c1: (&c).mul(&self.c1), [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 borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/fp2.rs:307:18 [INFO] [stdout] | [INFO] [stdout] 307 | let v0 = (&self.c0).mul(&rhs.c0); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:308:18 [INFO] [stdout] | [INFO] [stdout] 308 | let v1 = (&(&self.c1).neg()).mul(&rhs.c1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `(&self.c1).neg()` [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/fp2.rs:308:20 [INFO] [stdout] | [INFO] [stdout] 308 | let v1 = (&(&self.c1).neg()).mul(&rhs.c1); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c1` [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/fp2.rs:309:18 [INFO] [stdout] | [INFO] [stdout] 309 | let c0 = (&v0).add(&v1); [INFO] [stdout] | ^^^^^ help: change this to: `v0` [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/fp2.rs:310:18 [INFO] [stdout] | [INFO] [stdout] 310 | let c1 = (&(&self.c0).add(&self.c1)).mul(&(&rhs.c0).add(&rhs.c1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(&self.c0).add(&self.c1)` [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/fp2.rs:310:20 [INFO] [stdout] | [INFO] [stdout] 310 | let c1 = (&(&self.c0).add(&self.c1)).mul(&(&rhs.c0).add(&rhs.c1)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:310:51 [INFO] [stdout] | [INFO] [stdout] 310 | let c1 = (&(&self.c0).add(&self.c1)).mul(&(&rhs.c0).add(&rhs.c1)); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `rhs.c0` [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/fp2.rs:311:18 [INFO] [stdout] | [INFO] [stdout] 311 | let c1 = (&c1).sub(&v0); [INFO] [stdout] | ^^^^^ help: change this to: `c1` [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/fp2.rs:312:18 [INFO] [stdout] | [INFO] [stdout] 312 | let c1 = (&c1).add(&v1); [INFO] [stdout] | ^^^^^ help: change this to: `c1` [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/fp2.rs:319:17 [INFO] [stdout] | [INFO] [stdout] 319 | c0: (&self.c0).add(&rhs.c0), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:320:17 [INFO] [stdout] | [INFO] [stdout] 320 | c1: (&self.c1).add(&rhs.c1), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c1` [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/fp2.rs:326:17 [INFO] [stdout] | [INFO] [stdout] 326 | c0: (&self.c0).sub(&rhs.c0), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:327:17 [INFO] [stdout] | [INFO] [stdout] 327 | c1: (&self.c1).sub(&rhs.c1), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c1` [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/fp2.rs:333:17 [INFO] [stdout] | [INFO] [stdout] 333 | c0: (&self.c0).neg(), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:334:17 [INFO] [stdout] | [INFO] [stdout] 334 | c1: (&self.c1).neg(), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c1` [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/fp2.rs:368:30 [INFO] [stdout] | [INFO] [stdout] 368 | alpha.ct_eq(&(&Fp2::one()).neg()), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `Fp2::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: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:260:6 [INFO] [stdout] | [INFO] [stdout] 260 | impl<'a> Neg for &'a G1Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 260 - impl<'a> Neg for &'a G1Affine { [INFO] [stdout] 260 + impl Neg for &G1Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:282:6 [INFO] [stdout] | [INFO] [stdout] 282 | impl<'a, 'b> Add<&'b G1Projective> for &'a G1Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 282 - impl<'a, 'b> Add<&'b G1Projective> for &'a G1Affine { [INFO] [stdout] 282 + impl<'b> Add<&'b G1Projective> for &G1Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:291:6 [INFO] [stdout] | [INFO] [stdout] 291 | impl<'a, 'b> Add<&'b G1Affine> for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 291 - impl<'a, 'b> Add<&'b G1Affine> for &'a G1Projective { [INFO] [stdout] 291 + impl<'b> Add<&'b G1Affine> for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:300:6 [INFO] [stdout] | [INFO] [stdout] 300 | impl<'a, 'b> Sub<&'b G1Projective> for &'a G1Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 300 - impl<'a, 'b> Sub<&'b G1Projective> for &'a G1Affine { [INFO] [stdout] 300 + impl<'b> Sub<&'b G1Projective> for &G1Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:309:6 [INFO] [stdout] | [INFO] [stdout] 309 | impl<'a, 'b> Sub<&'b G1Affine> for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 309 - impl<'a, 'b> Sub<&'b G1Affine> for &'a G1Projective { [INFO] [stdout] 309 + impl<'b> Sub<&'b G1Affine> for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/g1.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | pub unsafe fn from_slice_unchecked(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:529:6 [INFO] [stdout] | [INFO] [stdout] 529 | impl<'a> Neg for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 529 - impl<'a> Neg for &'a G1Projective { [INFO] [stdout] 529 + impl Neg for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:551:6 [INFO] [stdout] | [INFO] [stdout] 551 | impl<'a, 'b> Add<&'b G1Projective> for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 551 - impl<'a, 'b> Add<&'b G1Projective> for &'a G1Projective { [INFO] [stdout] 551 + impl<'b> Add<&'b G1Projective> for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:560:6 [INFO] [stdout] | [INFO] [stdout] 560 | impl<'a, 'b> Sub<&'b G1Projective> for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 560 - impl<'a, 'b> Sub<&'b G1Projective> for &'a G1Projective { [INFO] [stdout] 560 + impl<'b> Sub<&'b G1Projective> for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:569:6 [INFO] [stdout] | [INFO] [stdout] 569 | impl<'a, 'b> Mul<&'b BlsScalar> for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 569 - impl<'a, 'b> Mul<&'b BlsScalar> for &'a G1Projective { [INFO] [stdout] 569 + impl<'b> Mul<&'b BlsScalar> for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:577:6 [INFO] [stdout] | [INFO] [stdout] 577 | impl<'a, 'b> Mul<&'b BlsScalar> for &'a G1Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 577 - impl<'a, 'b> Mul<&'b BlsScalar> for &'a G1Affine { [INFO] [stdout] 577 + impl<'b> Mul<&'b BlsScalar> for &G1Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/g1.rs:877:47 [INFO] [stdout] | [INFO] [stdout] 877 | *q = G1Affine::conditional_select(&q, &G1Affine::identity(), skip); [INFO] [stdout] | ^^ help: change this to: `q` [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/g2.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | (&mut res[0..48]).copy_from_slice(&x.c1.to_bytes()[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `res[0..48]` [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/g2.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | (&mut res[48..96]).copy_from_slice(&x.c0.to_bytes()[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `res[48..96]` [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 following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:279:6 [INFO] [stdout] | [INFO] [stdout] 279 | impl<'a> Neg for &'a G2Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 279 - impl<'a> Neg for &'a G2Affine { [INFO] [stdout] 279 + impl Neg for &G2Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:301:6 [INFO] [stdout] | [INFO] [stdout] 301 | impl<'a, 'b> Add<&'b G2Projective> for &'a G2Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 301 - impl<'a, 'b> Add<&'b G2Projective> for &'a G2Affine { [INFO] [stdout] 301 + impl<'b> Add<&'b G2Projective> for &G2Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:310:6 [INFO] [stdout] | [INFO] [stdout] 310 | impl<'a, 'b> Add<&'b G2Affine> for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 310 - impl<'a, 'b> Add<&'b G2Affine> for &'a G2Projective { [INFO] [stdout] 310 + impl<'b> Add<&'b G2Affine> for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:319:6 [INFO] [stdout] | [INFO] [stdout] 319 | impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 319 - impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Affine { [INFO] [stdout] 319 + impl<'b> Sub<&'b G2Projective> for &G2Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:328:6 [INFO] [stdout] | [INFO] [stdout] 328 | impl<'a, 'b> Sub<&'b G2Affine> for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 328 - impl<'a, 'b> Sub<&'b G2Affine> for &'a G2Projective { [INFO] [stdout] 328 + impl<'b> Sub<&'b G2Affine> for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/g2.rs:462:5 [INFO] [stdout] | [INFO] [stdout] 462 | pub unsafe fn from_slice_unchecked(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:590:6 [INFO] [stdout] | [INFO] [stdout] 590 | impl<'a> Neg for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 590 - impl<'a> Neg for &'a G2Projective { [INFO] [stdout] 590 + impl Neg for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:612:6 [INFO] [stdout] | [INFO] [stdout] 612 | impl<'a, 'b> Add<&'b G2Projective> for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 612 - impl<'a, 'b> Add<&'b G2Projective> for &'a G2Projective { [INFO] [stdout] 612 + impl<'b> Add<&'b G2Projective> for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:621:6 [INFO] [stdout] | [INFO] [stdout] 621 | impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 621 - impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Projective { [INFO] [stdout] 621 + impl<'b> Sub<&'b G2Projective> for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:630:6 [INFO] [stdout] | [INFO] [stdout] 630 | impl<'a, 'b> Mul<&'b BlsScalar> for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 630 - impl<'a, 'b> Mul<&'b BlsScalar> for &'a G2Projective { [INFO] [stdout] 630 + impl<'b> Mul<&'b BlsScalar> for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:638:6 [INFO] [stdout] | [INFO] [stdout] 638 | impl<'a, 'b> Mul<&'b BlsScalar> for &'a G2Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 638 - impl<'a, 'b> Mul<&'b BlsScalar> for &'a G2Affine { [INFO] [stdout] 638 + impl<'b> Mul<&'b BlsScalar> for &G2Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/g2.rs:1056:47 [INFO] [stdout] | [INFO] [stdout] 1056 | *q = G2Affine::conditional_select(&q, &G2Affine::identity(), skip); [INFO] [stdout] | ^^ help: change this to: `q` [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 following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp12.rs:187:6 [INFO] [stdout] | [INFO] [stdout] 187 | impl<'a, 'b> Mul<&'b Fp12> for &'a Fp12 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 187 - impl<'a, 'b> Mul<&'b Fp12> for &'a Fp12 { [INFO] [stdout] 187 + impl<'b> Mul<&'b Fp12> for &Fp12 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp12.rs:206:6 [INFO] [stdout] | [INFO] [stdout] 206 | impl<'a, 'b> Add<&'b Fp12> for &'a Fp12 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 206 - impl<'a, 'b> Add<&'b Fp12> for &'a Fp12 { [INFO] [stdout] 206 + impl<'b> Add<&'b Fp12> for &Fp12 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp12.rs:218:6 [INFO] [stdout] | [INFO] [stdout] 218 | impl<'a> Neg for &'a Fp12 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 218 - impl<'a> Neg for &'a Fp12 { [INFO] [stdout] 218 + impl Neg for &Fp12 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp12.rs:239:6 [INFO] [stdout] | [INFO] [stdout] 239 | impl<'a, 'b> Sub<&'b Fp12> for &'a Fp12 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 239 - impl<'a, 'b> Sub<&'b Fp12> for &'a Fp12 { [INFO] [stdout] 239 + impl<'b> Sub<&'b Fp12> for &Fp12 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp6.rs:327:6 [INFO] [stdout] | [INFO] [stdout] 327 | impl<'a, 'b> Mul<&'b Fp6> for &'a Fp6 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 327 - impl<'a, 'b> Mul<&'b Fp6> for &'a Fp6 { [INFO] [stdout] 327 + impl<'b> Mul<&'b Fp6> for &Fp6 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp6.rs:367:6 [INFO] [stdout] | [INFO] [stdout] 367 | impl<'a, 'b> Add<&'b Fp6> for &'a Fp6 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 367 - impl<'a, 'b> Add<&'b Fp6> for &'a Fp6 { [INFO] [stdout] 367 + impl<'b> Add<&'b Fp6> for &Fp6 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp6.rs:380:6 [INFO] [stdout] | [INFO] [stdout] 380 | impl<'a> Neg for &'a Fp6 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 380 - impl<'a> Neg for &'a Fp6 { [INFO] [stdout] 380 + impl Neg for &Fp6 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp6.rs:402:6 [INFO] [stdout] | [INFO] [stdout] 402 | impl<'a, 'b> Sub<&'b Fp6> for &'a Fp6 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 402 - impl<'a, 'b> Sub<&'b Fp6> for &'a Fp6 { [INFO] [stdout] 402 + impl<'b> Sub<&'b Fp6> for &Fp6 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:58:26 [INFO] [stdout] | [INFO] [stdout] 58 | let mut z0 = f.c0.c0.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c0.c0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | let mut z4 = f.c0.c1.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c0.c1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:60:26 [INFO] [stdout] | [INFO] [stdout] 60 | let mut z3 = f.c0.c2.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c0.c2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:61:26 [INFO] [stdout] | [INFO] [stdout] 61 | let mut z2 = f.c1.c0.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c1.c0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:62:26 [INFO] [stdout] | [INFO] [stdout] 62 | let mut z1 = f.c1.c1.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c1.c1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:63:26 [INFO] [stdout] | [INFO] [stdout] 63 | let mut z5 = f.c1.c2.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c1.c2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | z0 += z0 + t0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] = note: `#[warn(clippy::misrefactored_assign_op)]` on by default [INFO] [stdout] help: did you mean `z0 = z0 + t0` or `z0 = z0 + z0 + t0`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 69 - z0 += z0 + t0; [INFO] [stdout] 69 + z0 += t0; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 69 - z0 += z0 + t0; [INFO] [stdout] 69 + z0 = z0 + z0 + t0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | z1 += z1 + t1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] help: did you mean `z1 = z1 + t1` or `z1 = z1 + z1 + t1`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 72 - z1 += z1 + t1; [INFO] [stdout] 72 + z1 += t1; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 72 - z1 += z1 + t1; [INFO] [stdout] 72 + z1 = z1 + z1 + t1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | z4 += z4 + t0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] help: did you mean `z4 = z4 + t0` or `z4 = z4 + z4 + t0`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 79 - z4 += z4 + t0; [INFO] [stdout] 79 + z4 += t0; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 79 - z4 += z4 + t0; [INFO] [stdout] 79 + z4 = z4 + z4 + t0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | z5 += z5 + t1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] help: did you mean `z5 = z5 + t1` or `z5 = z5 + z5 + t1`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 82 - z5 += z5 + t1; [INFO] [stdout] 82 + z5 += t1; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 82 - z5 += z5 + t1; [INFO] [stdout] 82 + z5 = z5 + z5 + t1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | z2 += z2 + t0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] help: did you mean `z2 = z2 + t0` or `z2 = z2 + z2 + t0`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 87 - z2 += z2 + t0; [INFO] [stdout] 87 + z2 += t0; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 87 - z2 += z2 + t0; [INFO] [stdout] 87 + z2 = z2 + z2 + t0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | z3 += z3 + t2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] help: did you mean `z3 = z3 + t2` or `z3 = z3 + z3 + t2`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 90 - z3 += z3 + t2; [INFO] [stdout] 90 + z3 += t2; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 90 - z3 += z3 + t2; [INFO] [stdout] 90 + z3 = z3 + z3 + t2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp12` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:125:21 [INFO] [stdout] | [INFO] [stdout] 125 | let mut f = self.0.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.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 `Fp12` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:136:22 [INFO] [stdout] | [INFO] [stdout] 136 | t1 = t2.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `t2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pairings.rs:170:6 [INFO] [stdout] | [INFO] [stdout] 170 | impl<'a, 'b> Add<&'b MillerLoopResult> for &'a MillerLoopResult { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 170 - impl<'a, 'b> Add<&'b MillerLoopResult> for &'a MillerLoopResult { [INFO] [stdout] 170 + impl<'b> Add<&'b MillerLoopResult> for &MillerLoopResult { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pairings.rs:221:6 [INFO] [stdout] | [INFO] [stdout] 221 | impl<'a> Neg for &'a Gt { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 221 - impl<'a> Neg for &'a Gt { [INFO] [stdout] 221 + impl Neg for &Gt { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pairings.rs:240:6 [INFO] [stdout] | [INFO] [stdout] 240 | impl<'a, 'b> Add<&'b Gt> for &'a Gt { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 240 - impl<'a, 'b> Add<&'b Gt> for &'a Gt { [INFO] [stdout] 240 + impl<'b> Add<&'b Gt> for &Gt { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pairings.rs:249:6 [INFO] [stdout] | [INFO] [stdout] 249 | impl<'a, 'b> Sub<&'b Gt> for &'a Gt { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 249 - impl<'a, 'b> Sub<&'b Gt> for &'a Gt { [INFO] [stdout] 249 + impl<'b> Sub<&'b Gt> for &Gt { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pairings.rs:258:6 [INFO] [stdout] | [INFO] [stdout] 258 | impl<'a, 'b> Mul<&'b BlsScalar> for &'a Gt { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 258 - impl<'a, 'b> Mul<&'b BlsScalar> for &'a Gt { [INFO] [stdout] 258 + impl<'b> Mul<&'b BlsScalar> for &Gt { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/pairings.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | pub unsafe fn from_slice_unchecked(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pairings.rs:632:42 [INFO] [stdout] | [INFO] [stdout] 632 | let p = G1Affine::conditional_select(&p, &G1Affine::generator(), either_identity); [INFO] [stdout] | ^^ help: change this to: `p` [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/pairings.rs:633:42 [INFO] [stdout] | [INFO] [stdout] 633 | let q = G2Affine::conditional_select(&q, &G2Affine::generator(), either_identity); [INFO] [stdout] | ^^ help: change this to: `q` [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 `buckets` [INFO] [stdout] --> src/multiscalar_mul.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | for i in 0..buckets_count { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 49 - for i in 0..buckets_count { [INFO] [stdout] 49 + for in buckets.iter_mut().take(buckets_count) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/multiscalar_mul.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | buckets[b] = buckets[b] + pt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `buckets[b] += pt` [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/multiscalar_mul.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | buckets[b] = buckets[b] - pt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `buckets[b] -= pt` [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: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/multiscalar_mul.rs:114:30 [INFO] [stdout] | [INFO] [stdout] 114 | 6 => (256 + w - 1) / w as usize, [INFO] [stdout] | ^^^^^^^^^^ help: try: `w` [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: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/multiscalar_mul.rs:115:30 [INFO] [stdout] | [INFO] [stdout] 115 | 7 => (256 + w - 1) / w as usize, [INFO] [stdout] | ^^^^^^^^^^ help: try: `w` [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: manually reimplementing `div_ceil` [INFO] [stdout] --> src/multiscalar_mul.rs:117:14 [INFO] [stdout] | [INFO] [stdout] 117 | 8 => (256 + w - 1) / w + 1 as usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `256_usize.div_ceil(w)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> src/multiscalar_mul.rs:117:34 [INFO] [stdout] | [INFO] [stdout] 117 | 8 => (256 + w - 1) / w + 1 as usize, [INFO] [stdout] | ^^^^^^^^^^ help: try: `1_usize` [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/multiscalar_mul.rs:140:40 [INFO] [stdout] | [INFO] [stdout] 140 | let digits_count = (256 + w - 1) / w as usize; [INFO] [stdout] | ^^^^^^^^^^ help: try: `w` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `digits` [INFO] [stdout] --> src/multiscalar_mul.rs:141:14 [INFO] [stdout] | [INFO] [stdout] 141 | for i in 0..digits_count { [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] 141 - for i in 0..digits_count { [INFO] [stdout] 141 + for (i, ) in digits.iter_mut().enumerate().take(digits_count) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/multiscalar_mul.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let bit_buf: u64; [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 `bit_buf` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 148 ~ [INFO] [stdout] 149 ~ let bit_buf: u64 = if bit_idx < 64 - w || u64_idx == 3 { [INFO] [stdout] 150 | // This window's bits are contained in a single u64, [INFO] [stdout] 151 | // or it's the last u64 anyway. [INFO] [stdout] 152 ~ scalar64x4[u64_idx] >> bit_idx [INFO] [stdout] 153 | } else { [INFO] [stdout] 154 | // Combine the current u64's bits with the bits from the next u64 [INFO] [stdout] 155 ~ (scalar64x4[u64_idx] >> bit_idx) | (scalar64x4[1 + u64_idx] << (64 - bit_idx)) [INFO] [stdout] 156 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/multiscalar_mul.rs:163:25 [INFO] [stdout] | [INFO] [stdout] 163 | carry = (coef + (radix / 2) as u64) >> w; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `(radix / 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/multiscalar_mul.rs:210:34 [INFO] [stdout] | [INFO] [stdout] 210 | .filter(|(s, _)| !(*s == &Scalar::zero())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(*s != &Scalar::zero())` [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: manual implementation of an assign operation [INFO] [stdout] --> src/multiscalar_mul.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | running_sum = running_sum + b; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `running_sum += b` [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: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/lib.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | #![cfg_attr(not(feature = "std"), no_std)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | //! return ((x-1)**2) // 3 [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] = note: `#[warn(clippy::tabs_in_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | //! assert(not v.is_zero()) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | //! a = sqrt(v) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | //! b = -a [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | //! if a < b: [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | //! return a [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | //! else: [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | //! return b [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | //! rhs = Fq(x)^3 + 4 [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | //! if rhs.is_square(): [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | //! y = psqrt(rhs) [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | //! p = ec(x, y) * g1_h(param) [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | //! if (not p.is_zero()) and (p * r).is_zero(): [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | //! print("g1 generator: {}".format(p)) [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | //! break [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | //! rhs = (Fq2(x))^3 + (4 * (1 + i)) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | //! if rhs.is_square(): [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | //! y = psqrt(rhs) [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | //! p = ec2(Fq2(x), y) * g2_h(param) [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | //! if not p.is_zero() and (p * r).is_zero(): [INFO] [stdout] | ^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | //! print("g2 generator: {}".format(p)) [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> src/notes/design.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | //! break [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/scalar.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/scalar.rs:137:7 [INFO] [stdout] | [INFO] [stdout] 137 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/scalar.rs:152:7 [INFO] [stdout] | [INFO] [stdout] 152 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/scalar.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/scalar.rs:897:11 [INFO] [stdout] | [INFO] [stdout] 897 | #[cfg(feature = "std")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/scalar.rs:1361:11 [INFO] [stdout] | [INFO] [stdout] 1361 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp.rs:65:7 [INFO] [stdout] | [INFO] [stdout] 65 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp.rs:80:7 [INFO] [stdout] | [INFO] [stdout] 80 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/fp.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp.rs:935:11 [INFO] [stdout] | [INFO] [stdout] 935 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp2.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp2.rs:61:7 [INFO] [stdout] | [INFO] [stdout] 61 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp2.rs:74:7 [INFO] [stdout] | [INFO] [stdout] 74 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/fp2.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp2.rs:970:11 [INFO] [stdout] | [INFO] [stdout] 970 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g1.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g1.rs:177:7 [INFO] [stdout] | [INFO] [stdout] 177 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g1.rs:192:7 [INFO] [stdout] | [INFO] [stdout] 192 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/g1.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g1.rs:1517:11 [INFO] [stdout] | [INFO] [stdout] 1517 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g2.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g2.rs:228:7 [INFO] [stdout] | [INFO] [stdout] 228 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g2.rs:243:7 [INFO] [stdout] | [INFO] [stdout] 243 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/g2.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:894:11 [INFO] [stdout] | [INFO] [stdout] 894 | #[cfg(feature = "endo")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:938:11 [INFO] [stdout] | [INFO] [stdout] 938 | #[cfg(feature = "endo")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:964:11 [INFO] [stdout] | [INFO] [stdout] 964 | #[cfg(feature = "endo")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:993:15 [INFO] [stdout] | [INFO] [stdout] 993 | #[cfg(feature = "endo")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:1005:19 [INFO] [stdout] | [INFO] [stdout] 1005 | #[cfg(not(feature = "endo"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:1748:11 [INFO] [stdout] | [INFO] [stdout] 1748 | #[cfg(feature = "endo")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `endo` [INFO] [stdout] --> src/g2.rs:1765:11 [INFO] [stdout] | [INFO] [stdout] 1765 | #[cfg(feature = "endo")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `endo` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/g2.rs:1971:11 [INFO] [stdout] | [INFO] [stdout] 1971 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/fp12.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp6.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp6.rs:70:7 [INFO] [stdout] | [INFO] [stdout] 70 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp6.rs:84:7 [INFO] [stdout] | [INFO] [stdout] 84 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/fp6.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/fp6.rs:614:11 [INFO] [stdout] | [INFO] [stdout] 614 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/pairings.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/pairings.rs:404:7 [INFO] [stdout] | [INFO] [stdout] 404 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/pairings.rs:420:7 [INFO] [stdout] | [INFO] [stdout] 420 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/pairings.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | use subtle; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/pairings.rs:516:17 [INFO] [stdout] | [INFO] [stdout] 516 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/pairings.rs:519:17 [INFO] [stdout] | [INFO] [stdout] 519 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/pairings.rs:522:17 [INFO] [stdout] | [INFO] [stdout] 522 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde_req` [INFO] [stdout] --> src/pairings.rs:867:11 [INFO] [stdout] | [INFO] [stdout] 867 | #[cfg(feature = "serde_req")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `serde_req` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `std` [INFO] [stdout] --> src/multiscalar_mul.rs:276:7 [INFO] [stdout] | [INFO] [stdout] 276 | #[cfg(feature = "std")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `canon`, `canonical`, and `canonical_derive` [INFO] [stdout] = help: consider adding `std` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/tests/mod.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | / mod tests { [INFO] [stdout] 33 | | use super::*; [INFO] [stdout] 34 | | [INFO] [stdout] 35 | | #[test] [INFO] [stdout] ... | [INFO] [stdout] 200 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/scalar.rs:54:23 [INFO] [stdout] | [INFO] [stdout] 54 | Some(self.cmp(&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] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:213:6 [INFO] [stdout] | [INFO] [stdout] 213 | impl<'a> Neg for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 213 - impl<'a> Neg for &'a Scalar { [INFO] [stdout] 213 + impl Neg for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:231:6 [INFO] [stdout] | [INFO] [stdout] 231 | impl<'a, 'b> Sub<&'b Scalar> for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 231 - impl<'a, 'b> Sub<&'b Scalar> for &'a Scalar { [INFO] [stdout] 231 + impl<'b> Sub<&'b Scalar> for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:240:6 [INFO] [stdout] | [INFO] [stdout] 240 | impl<'a, 'b> Add<&'b Scalar> for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 240 - impl<'a, 'b> Add<&'b Scalar> for &'a Scalar { [INFO] [stdout] 240 + impl<'b> Add<&'b Scalar> for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:249:6 [INFO] [stdout] | [INFO] [stdout] 249 | impl<'a, 'b> Mul<&'b Scalar> for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 249 - impl<'a, 'b> Mul<&'b Scalar> for &'a Scalar { [INFO] [stdout] 249 + impl<'b> Mul<&'b Scalar> for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:258:6 [INFO] [stdout] | [INFO] [stdout] 258 | impl<'a, 'b> BitXor<&'b Scalar> for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 258 - impl<'a, 'b> BitXor<&'b Scalar> for &'a Scalar { [INFO] [stdout] 258 + impl<'b> BitXor<&'b Scalar> for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scalar.rs:281:6 [INFO] [stdout] | [INFO] [stdout] 281 | impl<'a, 'b> BitAnd<&'b Scalar> for &'a Scalar { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 281 - impl<'a, 'b> BitAnd<&'b Scalar> for &'a Scalar { [INFO] [stdout] 281 + impl<'b> BitAnd<&'b Scalar> for &Scalar { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/scalar.rs:471:9 [INFO] [stdout] | [INFO] [stdout] 471 | (&Scalar(val)).mul(&R2) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `Scalar(val)` [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/scalar.rs:764:9 [INFO] [stdout] | [INFO] [stdout] 764 | (&Scalar([r4, r5, r6, r7])).sub(&MODULUS) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `Scalar([r4, r5, r6, r7])` [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/scalar.rs:823:9 [INFO] [stdout] | [INFO] [stdout] 823 | (&Scalar([d0, d1, d2, d3])).sub(&MODULUS) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `Scalar([d0, d1, d2, d3])` [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: needlessly taken reference of both operands [INFO] [stdout] --> src/scalar.rs:1334:20 [INFO] [stdout] | [INFO] [stdout] 1334 | assert_eq!(&a ^ &b, res); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 1334 - assert_eq!(&a ^ &b, res); [INFO] [stdout] 1334 + assert_eq!(a ^ b, res); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/scalar.rs:1342:20 [INFO] [stdout] | [INFO] [stdout] 1342 | assert_eq!(&a & &b, res); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 1342 - assert_eq!(&a & &b, res); [INFO] [stdout] 1342 + assert_eq!(a & b, res); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp.rs:164:6 [INFO] [stdout] | [INFO] [stdout] 164 | impl<'a> Neg for &'a Fp { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 164 - impl<'a> Neg for &'a Fp { [INFO] [stdout] 164 + impl Neg for &Fp { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp.rs:182:6 [INFO] [stdout] | [INFO] [stdout] 182 | impl<'a, 'b> Sub<&'b Fp> for &'a Fp { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 182 - impl<'a, 'b> Sub<&'b Fp> for &'a Fp { [INFO] [stdout] 182 + impl<'b> Sub<&'b Fp> for &Fp { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp.rs:191:6 [INFO] [stdout] | [INFO] [stdout] 191 | impl<'a, 'b> Add<&'b Fp> for &'a Fp { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 191 - impl<'a, 'b> Add<&'b Fp> for &'a Fp { [INFO] [stdout] 191 + impl<'b> Add<&'b Fp> for &Fp { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp.rs:200:6 [INFO] [stdout] | [INFO] [stdout] 200 | impl<'a, 'b> Mul<&'b Fp> for &'a Fp { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 200 - impl<'a, 'b> Mul<&'b Fp> for &'a Fp { [INFO] [stdout] 200 + impl<'b> Mul<&'b Fp> for &Fp { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods with the following characteristics: (`to_*` and `self` type is `Copy`) usually take `self` by value [INFO] [stdout] --> src/fp.rs:263:21 [INFO] [stdout] | [INFO] [stdout] 263 | pub fn to_bytes(&self) -> [u8; 48] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/fp.rs:407:9 [INFO] [stdout] | [INFO] [stdout] 407 | (&Fp([d0, d1, d2, d3, d4, d5])).subtract_p() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `Fp([d0, d1, d2, d3, d4, d5])` [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/fp.rs:437:9 [INFO] [stdout] | [INFO] [stdout] 437 | (&rhs.neg()).add(self) [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `rhs.neg()` [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/fp.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | (&Fp([r6, r7, r8, r9, r10, r11])).subtract_p() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `Fp([r6, r7, r8, r9, r10, r11])` [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/fp.rs:640:33 [INFO] [stdout] | [INFO] [stdout] 640 | let ct_eq = a.ct_eq(&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: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp2.rs:155:6 [INFO] [stdout] | [INFO] [stdout] 155 | impl<'a> Neg for &'a Fp2 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 155 - impl<'a> Neg for &'a Fp2 { [INFO] [stdout] 155 + impl Neg for &Fp2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp2.rs:173:6 [INFO] [stdout] | [INFO] [stdout] 173 | impl<'a, 'b> Sub<&'b Fp2> for &'a Fp2 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 173 - impl<'a, 'b> Sub<&'b Fp2> for &'a Fp2 { [INFO] [stdout] 173 + impl<'b> Sub<&'b Fp2> for &Fp2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp2.rs:182:6 [INFO] [stdout] | [INFO] [stdout] 182 | impl<'a, 'b> Add<&'b Fp2> for &'a Fp2 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 182 - impl<'a, 'b> Add<&'b Fp2> for &'a Fp2 { [INFO] [stdout] 182 + impl<'b> Add<&'b Fp2> for &Fp2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp2.rs:191:6 [INFO] [stdout] | [INFO] [stdout] 191 | impl<'a, 'b> Mul<&'b Fp2> for &'a Fp2 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 191 - impl<'a, 'b> Mul<&'b Fp2> for &'a Fp2 { [INFO] [stdout] 191 + impl<'b> Mul<&'b Fp2> for &Fp2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/fp2.rs:280:17 [INFO] [stdout] | [INFO] [stdout] 280 | let a = (&self.c0).add(&self.c1); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:281:17 [INFO] [stdout] | [INFO] [stdout] 281 | let b = (&self.c0).sub(&self.c1); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 282 | let c = (&self.c0).add(&self.c0); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:285:17 [INFO] [stdout] | [INFO] [stdout] 285 | c0: (&a).mul(&b), [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 borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/fp2.rs:286:17 [INFO] [stdout] | [INFO] [stdout] 286 | c1: (&c).mul(&self.c1), [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 borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/fp2.rs:307:18 [INFO] [stdout] | [INFO] [stdout] 307 | let v0 = (&self.c0).mul(&rhs.c0); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:308:18 [INFO] [stdout] | [INFO] [stdout] 308 | let v1 = (&(&self.c1).neg()).mul(&rhs.c1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `(&self.c1).neg()` [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/fp2.rs:308:20 [INFO] [stdout] | [INFO] [stdout] 308 | let v1 = (&(&self.c1).neg()).mul(&rhs.c1); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c1` [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/fp2.rs:309:18 [INFO] [stdout] | [INFO] [stdout] 309 | let c0 = (&v0).add(&v1); [INFO] [stdout] | ^^^^^ help: change this to: `v0` [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/fp2.rs:310:18 [INFO] [stdout] | [INFO] [stdout] 310 | let c1 = (&(&self.c0).add(&self.c1)).mul(&(&rhs.c0).add(&rhs.c1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(&self.c0).add(&self.c1)` [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/fp2.rs:310:20 [INFO] [stdout] | [INFO] [stdout] 310 | let c1 = (&(&self.c0).add(&self.c1)).mul(&(&rhs.c0).add(&rhs.c1)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:310:51 [INFO] [stdout] | [INFO] [stdout] 310 | let c1 = (&(&self.c0).add(&self.c1)).mul(&(&rhs.c0).add(&rhs.c1)); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `rhs.c0` [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/fp2.rs:311:18 [INFO] [stdout] | [INFO] [stdout] 311 | let c1 = (&c1).sub(&v0); [INFO] [stdout] | ^^^^^ help: change this to: `c1` [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/fp2.rs:312:18 [INFO] [stdout] | [INFO] [stdout] 312 | let c1 = (&c1).add(&v1); [INFO] [stdout] | ^^^^^ help: change this to: `c1` [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/fp2.rs:319:17 [INFO] [stdout] | [INFO] [stdout] 319 | c0: (&self.c0).add(&rhs.c0), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:320:17 [INFO] [stdout] | [INFO] [stdout] 320 | c1: (&self.c1).add(&rhs.c1), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c1` [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/fp2.rs:326:17 [INFO] [stdout] | [INFO] [stdout] 326 | c0: (&self.c0).sub(&rhs.c0), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:327:17 [INFO] [stdout] | [INFO] [stdout] 327 | c1: (&self.c1).sub(&rhs.c1), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c1` [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/fp2.rs:333:17 [INFO] [stdout] | [INFO] [stdout] 333 | c0: (&self.c0).neg(), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c0` [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/fp2.rs:334:17 [INFO] [stdout] | [INFO] [stdout] 334 | c1: (&self.c1).neg(), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `self.c1` [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/fp2.rs:368:30 [INFO] [stdout] | [INFO] [stdout] 368 | alpha.ct_eq(&(&Fp2::one()).neg()), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `Fp2::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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/fp2.rs:461:33 [INFO] [stdout] | [INFO] [stdout] 461 | let ct_eq = a.ct_eq(&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: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:260:6 [INFO] [stdout] | [INFO] [stdout] 260 | impl<'a> Neg for &'a G1Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 260 - impl<'a> Neg for &'a G1Affine { [INFO] [stdout] 260 + impl Neg for &G1Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:282:6 [INFO] [stdout] | [INFO] [stdout] 282 | impl<'a, 'b> Add<&'b G1Projective> for &'a G1Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 282 - impl<'a, 'b> Add<&'b G1Projective> for &'a G1Affine { [INFO] [stdout] 282 + impl<'b> Add<&'b G1Projective> for &G1Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:291:6 [INFO] [stdout] | [INFO] [stdout] 291 | impl<'a, 'b> Add<&'b G1Affine> for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 291 - impl<'a, 'b> Add<&'b G1Affine> for &'a G1Projective { [INFO] [stdout] 291 + impl<'b> Add<&'b G1Affine> for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:300:6 [INFO] [stdout] | [INFO] [stdout] 300 | impl<'a, 'b> Sub<&'b G1Projective> for &'a G1Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 300 - impl<'a, 'b> Sub<&'b G1Projective> for &'a G1Affine { [INFO] [stdout] 300 + impl<'b> Sub<&'b G1Projective> for &G1Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:309:6 [INFO] [stdout] | [INFO] [stdout] 309 | impl<'a, 'b> Sub<&'b G1Affine> for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 309 - impl<'a, 'b> Sub<&'b G1Affine> for &'a G1Projective { [INFO] [stdout] 309 + impl<'b> Sub<&'b G1Affine> for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/g1.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | pub unsafe fn from_slice_unchecked(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:529:6 [INFO] [stdout] | [INFO] [stdout] 529 | impl<'a> Neg for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 529 - impl<'a> Neg for &'a G1Projective { [INFO] [stdout] 529 + impl Neg for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:551:6 [INFO] [stdout] | [INFO] [stdout] 551 | impl<'a, 'b> Add<&'b G1Projective> for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 551 - impl<'a, 'b> Add<&'b G1Projective> for &'a G1Projective { [INFO] [stdout] 551 + impl<'b> Add<&'b G1Projective> for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:560:6 [INFO] [stdout] | [INFO] [stdout] 560 | impl<'a, 'b> Sub<&'b G1Projective> for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 560 - impl<'a, 'b> Sub<&'b G1Projective> for &'a G1Projective { [INFO] [stdout] 560 + impl<'b> Sub<&'b G1Projective> for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:569:6 [INFO] [stdout] | [INFO] [stdout] 569 | impl<'a, 'b> Mul<&'b BlsScalar> for &'a G1Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 569 - impl<'a, 'b> Mul<&'b BlsScalar> for &'a G1Projective { [INFO] [stdout] 569 + impl<'b> Mul<&'b BlsScalar> for &G1Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g1.rs:577:6 [INFO] [stdout] | [INFO] [stdout] 577 | impl<'a, 'b> Mul<&'b BlsScalar> for &'a G1Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 577 - impl<'a, 'b> Mul<&'b BlsScalar> for &'a G1Affine { [INFO] [stdout] 577 + impl<'b> Mul<&'b BlsScalar> for &G1Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/g1.rs:877:47 [INFO] [stdout] | [INFO] [stdout] 877 | *q = G1Affine::conditional_select(&q, &G1Affine::identity(), skip); [INFO] [stdout] | ^^ help: change this to: `q` [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/g1.rs:1153:17 [INFO] [stdout] | [INFO] [stdout] 1153 | d = d + G1Projective::generator(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `d += G1Projective::generator()` [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/g1.rs:1274:17 [INFO] [stdout] | [INFO] [stdout] 1274 | d = d + G1Affine::generator(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `d += G1Affine::generator()` [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: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/g2.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | (&mut res[0..48]).copy_from_slice(&x.c1.to_bytes()[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `res[0..48]` [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/g2.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | (&mut res[48..96]).copy_from_slice(&x.c0.to_bytes()[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `res[48..96]` [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 following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:279:6 [INFO] [stdout] | [INFO] [stdout] 279 | impl<'a> Neg for &'a G2Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 279 - impl<'a> Neg for &'a G2Affine { [INFO] [stdout] 279 + impl Neg for &G2Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:301:6 [INFO] [stdout] | [INFO] [stdout] 301 | impl<'a, 'b> Add<&'b G2Projective> for &'a G2Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 301 - impl<'a, 'b> Add<&'b G2Projective> for &'a G2Affine { [INFO] [stdout] 301 + impl<'b> Add<&'b G2Projective> for &G2Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:310:6 [INFO] [stdout] | [INFO] [stdout] 310 | impl<'a, 'b> Add<&'b G2Affine> for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 310 - impl<'a, 'b> Add<&'b G2Affine> for &'a G2Projective { [INFO] [stdout] 310 + impl<'b> Add<&'b G2Affine> for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:319:6 [INFO] [stdout] | [INFO] [stdout] 319 | impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 319 - impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Affine { [INFO] [stdout] 319 + impl<'b> Sub<&'b G2Projective> for &G2Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:328:6 [INFO] [stdout] | [INFO] [stdout] 328 | impl<'a, 'b> Sub<&'b G2Affine> for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 328 - impl<'a, 'b> Sub<&'b G2Affine> for &'a G2Projective { [INFO] [stdout] 328 + impl<'b> Sub<&'b G2Affine> for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/g2.rs:462:5 [INFO] [stdout] | [INFO] [stdout] 462 | pub unsafe fn from_slice_unchecked(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:590:6 [INFO] [stdout] | [INFO] [stdout] 590 | impl<'a> Neg for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 590 - impl<'a> Neg for &'a G2Projective { [INFO] [stdout] 590 + impl Neg for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:612:6 [INFO] [stdout] | [INFO] [stdout] 612 | impl<'a, 'b> Add<&'b G2Projective> for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 612 - impl<'a, 'b> Add<&'b G2Projective> for &'a G2Projective { [INFO] [stdout] 612 + impl<'b> Add<&'b G2Projective> for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:621:6 [INFO] [stdout] | [INFO] [stdout] 621 | impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 621 - impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Projective { [INFO] [stdout] 621 + impl<'b> Sub<&'b G2Projective> for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:630:6 [INFO] [stdout] | [INFO] [stdout] 630 | impl<'a, 'b> Mul<&'b BlsScalar> for &'a G2Projective { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 630 - impl<'a, 'b> Mul<&'b BlsScalar> for &'a G2Projective { [INFO] [stdout] 630 + impl<'b> Mul<&'b BlsScalar> for &G2Projective { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/g2.rs:638:6 [INFO] [stdout] | [INFO] [stdout] 638 | impl<'a, 'b> Mul<&'b BlsScalar> for &'a G2Affine { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 638 - impl<'a, 'b> Mul<&'b BlsScalar> for &'a G2Affine { [INFO] [stdout] 638 + impl<'b> Mul<&'b BlsScalar> for &G2Affine { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/g2.rs:1056:47 [INFO] [stdout] | [INFO] [stdout] 1056 | *q = G2Affine::conditional_select(&q, &G2Affine::identity(), skip); [INFO] [stdout] | ^^ help: change this to: `q` [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/g2.rs:1402:17 [INFO] [stdout] | [INFO] [stdout] 1402 | d = d + G2Projective::generator(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `d += G2Projective::generator()` [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/g2.rs:1566:17 [INFO] [stdout] | [INFO] [stdout] 1566 | d = d + G2Affine::generator(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `d += G2Affine::generator()` [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 following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp12.rs:187:6 [INFO] [stdout] | [INFO] [stdout] 187 | impl<'a, 'b> Mul<&'b Fp12> for &'a Fp12 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 187 - impl<'a, 'b> Mul<&'b Fp12> for &'a Fp12 { [INFO] [stdout] 187 + impl<'b> Mul<&'b Fp12> for &Fp12 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp12.rs:206:6 [INFO] [stdout] | [INFO] [stdout] 206 | impl<'a, 'b> Add<&'b Fp12> for &'a Fp12 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 206 - impl<'a, 'b> Add<&'b Fp12> for &'a Fp12 { [INFO] [stdout] 206 + impl<'b> Add<&'b Fp12> for &Fp12 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp12.rs:218:6 [INFO] [stdout] | [INFO] [stdout] 218 | impl<'a> Neg for &'a Fp12 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 218 - impl<'a> Neg for &'a Fp12 { [INFO] [stdout] 218 + impl Neg for &Fp12 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp12.rs:239:6 [INFO] [stdout] | [INFO] [stdout] 239 | impl<'a, 'b> Sub<&'b Fp12> for &'a Fp12 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 239 - impl<'a, 'b> Sub<&'b Fp12> for &'a Fp12 { [INFO] [stdout] 239 + impl<'b> Sub<&'b Fp12> for &Fp12 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:611:17 [INFO] [stdout] | [INFO] [stdout] 611 | let a = &a.square().invert().unwrap().square() + &c; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 611 - let a = &a.square().invert().unwrap().square() + &c; [INFO] [stdout] 611 + let a = a.square().invert().unwrap().square() + c; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:612:17 [INFO] [stdout] | [INFO] [stdout] 612 | let b = &b.square().invert().unwrap().square() + &a; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 612 - let b = &b.square().invert().unwrap().square() + &a; [INFO] [stdout] 612 + let b = b.square().invert().unwrap().square() + a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:613:17 [INFO] [stdout] | [INFO] [stdout] 613 | let c = &c.square().invert().unwrap().square() + &b; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 613 - let c = &c.square().invert().unwrap().square() + &b; [INFO] [stdout] 613 + let c = c.square().invert().unwrap().square() + b; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:615:32 [INFO] [stdout] | [INFO] [stdout] 615 | assert_eq!(a.square(), &a * &a); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 615 - assert_eq!(a.square(), &a * &a); [INFO] [stdout] 615 + assert_eq!(a.square(), a * a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:616:32 [INFO] [stdout] | [INFO] [stdout] 616 | assert_eq!(b.square(), &b * &b); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 616 - assert_eq!(b.square(), &b * &b); [INFO] [stdout] 616 + assert_eq!(b.square(), b * b); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:617:32 [INFO] [stdout] | [INFO] [stdout] 617 | assert_eq!(c.square(), &c * &c); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 617 - assert_eq!(c.square(), &c * &c); [INFO] [stdout] 617 + assert_eq!(c.square(), c * c); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:621:13 [INFO] [stdout] | [INFO] [stdout] 621 | &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 621 - &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] 621 + (&(&c * &c) * &a) + (&(&c * &c) * &b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:621:14 [INFO] [stdout] | [INFO] [stdout] 621 | &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 621 - &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] 621 + &((&c * &c) * a) + &(&(&c * &c) * &b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:621:16 [INFO] [stdout] | [INFO] [stdout] 621 | &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 621 - &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] 621 + &(&(c * c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:621:35 [INFO] [stdout] | [INFO] [stdout] 621 | &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 621 - &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] 621 + &(&(&c * &c) * &a) + &((&c * &c) * b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:621:37 [INFO] [stdout] | [INFO] [stdout] 621 | &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 621 - &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] 621 + &(&(&c * &c) * &a) + &(&(c * c) * &b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:625:13 [INFO] [stdout] | [INFO] [stdout] 625 | &a.invert().unwrap() * &b.invert().unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 625 - &a.invert().unwrap() * &b.invert().unwrap(), [INFO] [stdout] 625 + a.invert().unwrap() * b.invert().unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:626:13 [INFO] [stdout] | [INFO] [stdout] 626 | (&a * &b).invert().unwrap() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 626 - (&a * &b).invert().unwrap() [INFO] [stdout] 626 + (a * b).invert().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp12.rs:628:20 [INFO] [stdout] | [INFO] [stdout] 628 | assert_eq!(&a.invert().unwrap() * &a, Fp12::one()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 628 - assert_eq!(&a.invert().unwrap() * &a, Fp12::one()); [INFO] [stdout] 628 + assert_eq!(a.invert().unwrap() * a, Fp12::one()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp6.rs:327:6 [INFO] [stdout] | [INFO] [stdout] 327 | impl<'a, 'b> Mul<&'b Fp6> for &'a Fp6 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 327 - impl<'a, 'b> Mul<&'b Fp6> for &'a Fp6 { [INFO] [stdout] 327 + impl<'b> Mul<&'b Fp6> for &Fp6 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp6.rs:367:6 [INFO] [stdout] | [INFO] [stdout] 367 | impl<'a, 'b> Add<&'b Fp6> for &'a Fp6 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 367 - impl<'a, 'b> Add<&'b Fp6> for &'a Fp6 { [INFO] [stdout] 367 + impl<'b> Add<&'b Fp6> for &Fp6 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp6.rs:380:6 [INFO] [stdout] | [INFO] [stdout] 380 | impl<'a> Neg for &'a Fp6 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 380 - impl<'a> Neg for &'a Fp6 { [INFO] [stdout] 380 + impl Neg for &Fp6 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/fp6.rs:402:6 [INFO] [stdout] | [INFO] [stdout] 402 | impl<'a, 'b> Sub<&'b Fp6> for &'a Fp6 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 402 - impl<'a, 'b> Sub<&'b Fp6> for &'a Fp6 { [INFO] [stdout] 402 + impl<'b> Sub<&'b Fp6> for &Fp6 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp6.rs:597:32 [INFO] [stdout] | [INFO] [stdout] 597 | assert_eq!(a.square(), &a * &a); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 597 - assert_eq!(a.square(), &a * &a); [INFO] [stdout] 597 + assert_eq!(a.square(), a * a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp6.rs:598:32 [INFO] [stdout] | [INFO] [stdout] 598 | assert_eq!(b.square(), &b * &b); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 598 - assert_eq!(b.square(), &b * &b); [INFO] [stdout] 598 + assert_eq!(b.square(), b * b); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp6.rs:599:32 [INFO] [stdout] | [INFO] [stdout] 599 | assert_eq!(c.square(), &c * &c); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 599 - assert_eq!(c.square(), &c * &c); [INFO] [stdout] 599 + assert_eq!(c.square(), c * c); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp6.rs:603:13 [INFO] [stdout] | [INFO] [stdout] 603 | &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 603 - &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] 603 + (&(&c * &c) * &a) + (&(&c * &c) * &b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp6.rs:603:14 [INFO] [stdout] | [INFO] [stdout] 603 | &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 603 - &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] 603 + &((&c * &c) * a) + &(&(&c * &c) * &b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp6.rs:603:16 [INFO] [stdout] | [INFO] [stdout] 603 | &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 603 - &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] 603 + &(&(c * c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp6.rs:603:35 [INFO] [stdout] | [INFO] [stdout] 603 | &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 603 - &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] 603 + &(&(&c * &c) * &a) + &((&c * &c) * b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp6.rs:603:37 [INFO] [stdout] | [INFO] [stdout] 603 | &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 603 - &(&(&c * &c) * &a) + &(&(&c * &c) * &b) [INFO] [stdout] 603 + &(&(&c * &c) * &a) + &(&(c * c) * &b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp6.rs:607:13 [INFO] [stdout] | [INFO] [stdout] 607 | &a.invert().unwrap() * &b.invert().unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 607 - &a.invert().unwrap() * &b.invert().unwrap(), [INFO] [stdout] 607 + a.invert().unwrap() * b.invert().unwrap(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp6.rs:608:13 [INFO] [stdout] | [INFO] [stdout] 608 | (&a * &b).invert().unwrap() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 608 - (&a * &b).invert().unwrap() [INFO] [stdout] 608 + (a * b).invert().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/fp6.rs:610:20 [INFO] [stdout] | [INFO] [stdout] 610 | assert_eq!(&a.invert().unwrap() * &a, Fp6::one()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 610 - assert_eq!(&a.invert().unwrap() * &a, Fp6::one()); [INFO] [stdout] 610 + assert_eq!(a.invert().unwrap() * a, Fp6::one()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:58:26 [INFO] [stdout] | [INFO] [stdout] 58 | let mut z0 = f.c0.c0.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c0.c0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | let mut z4 = f.c0.c1.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c0.c1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:60:26 [INFO] [stdout] | [INFO] [stdout] 60 | let mut z3 = f.c0.c2.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c0.c2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:61:26 [INFO] [stdout] | [INFO] [stdout] 61 | let mut z2 = f.c1.c0.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c1.c0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:62:26 [INFO] [stdout] | [INFO] [stdout] 62 | let mut z1 = f.c1.c1.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c1.c1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp2` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:63:26 [INFO] [stdout] | [INFO] [stdout] 63 | let mut z5 = f.c1.c2.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `f.c1.c2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | z0 += z0 + t0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] = note: `#[warn(clippy::misrefactored_assign_op)]` on by default [INFO] [stdout] help: did you mean `z0 = z0 + t0` or `z0 = z0 + z0 + t0`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 69 - z0 += z0 + t0; [INFO] [stdout] 69 + z0 += t0; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 69 - z0 += z0 + t0; [INFO] [stdout] 69 + z0 = z0 + z0 + t0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | z1 += z1 + t1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] help: did you mean `z1 = z1 + t1` or `z1 = z1 + z1 + t1`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 72 - z1 += z1 + t1; [INFO] [stdout] 72 + z1 += t1; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 72 - z1 += z1 + t1; [INFO] [stdout] 72 + z1 = z1 + z1 + t1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | z4 += z4 + t0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] help: did you mean `z4 = z4 + t0` or `z4 = z4 + z4 + t0`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 79 - z4 += z4 + t0; [INFO] [stdout] 79 + z4 += t0; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 79 - z4 += z4 + t0; [INFO] [stdout] 79 + z4 = z4 + z4 + t0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | z5 += z5 + t1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] help: did you mean `z5 = z5 + t1` or `z5 = z5 + z5 + t1`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 82 - z5 += z5 + t1; [INFO] [stdout] 82 + z5 += t1; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 82 - z5 += z5 + t1; [INFO] [stdout] 82 + z5 = z5 + z5 + t1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | z2 += z2 + t0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] help: did you mean `z2 = z2 + t0` or `z2 = z2 + z2 + t0`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 87 - z2 += z2 + t0; [INFO] [stdout] 87 + z2 += t0; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 87 - z2 += z2 + t0; [INFO] [stdout] 87 + z2 = z2 + z2 + t0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable appears on both sides of an assignment operation [INFO] [stdout] --> src/pairings.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | z3 += z3 + t2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op [INFO] [stdout] help: did you mean `z3 = z3 + t2` or `z3 = z3 + z3 + t2`? Consider replacing it with [INFO] [stdout] | [INFO] [stdout] 90 - z3 += z3 + t2; [INFO] [stdout] 90 + z3 += t2; [INFO] [stdout] | [INFO] [stdout] help: or [INFO] [stdout] | [INFO] [stdout] 90 - z3 += z3 + t2; [INFO] [stdout] 90 + z3 = z3 + z3 + t2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Fp12` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:125:21 [INFO] [stdout] | [INFO] [stdout] 125 | let mut f = self.0.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.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 `Fp12` which implements the `Copy` trait [INFO] [stdout] --> src/pairings.rs:136:22 [INFO] [stdout] | [INFO] [stdout] 136 | t1 = t2.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `t2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pairings.rs:170:6 [INFO] [stdout] | [INFO] [stdout] 170 | impl<'a, 'b> Add<&'b MillerLoopResult> for &'a MillerLoopResult { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 170 - impl<'a, 'b> Add<&'b MillerLoopResult> for &'a MillerLoopResult { [INFO] [stdout] 170 + impl<'b> Add<&'b MillerLoopResult> for &MillerLoopResult { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pairings.rs:221:6 [INFO] [stdout] | [INFO] [stdout] 221 | impl<'a> Neg for &'a Gt { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 221 - impl<'a> Neg for &'a Gt { [INFO] [stdout] 221 + impl Neg for &Gt { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pairings.rs:240:6 [INFO] [stdout] | [INFO] [stdout] 240 | impl<'a, 'b> Add<&'b Gt> for &'a Gt { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 240 - impl<'a, 'b> Add<&'b Gt> for &'a Gt { [INFO] [stdout] 240 + impl<'b> Add<&'b Gt> for &Gt { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pairings.rs:249:6 [INFO] [stdout] | [INFO] [stdout] 249 | impl<'a, 'b> Sub<&'b Gt> for &'a Gt { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 249 - impl<'a, 'b> Sub<&'b Gt> for &'a Gt { [INFO] [stdout] 249 + impl<'b> Sub<&'b Gt> for &Gt { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pairings.rs:258:6 [INFO] [stdout] | [INFO] [stdout] 258 | impl<'a, 'b> Mul<&'b BlsScalar> for &'a Gt { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 258 - impl<'a, 'b> Mul<&'b BlsScalar> for &'a Gt { [INFO] [stdout] 258 + impl<'b> Mul<&'b BlsScalar> for &Gt { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/pairings.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | pub unsafe fn from_slice_unchecked(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pairings.rs:632:42 [INFO] [stdout] | [INFO] [stdout] 632 | let p = G1Affine::conditional_select(&p, &G1Affine::generator(), either_identity); [INFO] [stdout] | ^^ help: change this to: `p` [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/pairings.rs:633:42 [INFO] [stdout] | [INFO] [stdout] 633 | let q = G2Affine::conditional_select(&q, &G2Affine::generator(), either_identity); [INFO] [stdout] | ^^ help: change this to: `q` [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 `buckets` [INFO] [stdout] --> src/multiscalar_mul.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | for i in 0..buckets_count { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 49 - for i in 0..buckets_count { [INFO] [stdout] 49 + for in buckets.iter_mut().take(buckets_count) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/multiscalar_mul.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | buckets[b] = buckets[b] + pt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `buckets[b] += pt` [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/multiscalar_mul.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | buckets[b] = buckets[b] - pt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `buckets[b] -= pt` [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: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/multiscalar_mul.rs:114:30 [INFO] [stdout] | [INFO] [stdout] 114 | 6 => (256 + w - 1) / w as usize, [INFO] [stdout] | ^^^^^^^^^^ help: try: `w` [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: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/multiscalar_mul.rs:115:30 [INFO] [stdout] | [INFO] [stdout] 115 | 7 => (256 + w - 1) / w as usize, [INFO] [stdout] | ^^^^^^^^^^ help: try: `w` [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: manually reimplementing `div_ceil` [INFO] [stdout] --> src/multiscalar_mul.rs:117:14 [INFO] [stdout] | [INFO] [stdout] 117 | 8 => (256 + w - 1) / w + 1 as usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `256_usize.div_ceil(w)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> src/multiscalar_mul.rs:117:34 [INFO] [stdout] | [INFO] [stdout] 117 | 8 => (256 + w - 1) / w + 1 as usize, [INFO] [stdout] | ^^^^^^^^^^ help: try: `1_usize` [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/multiscalar_mul.rs:140:40 [INFO] [stdout] | [INFO] [stdout] 140 | let digits_count = (256 + w - 1) / w as usize; [INFO] [stdout] | ^^^^^^^^^^ help: try: `w` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `digits` [INFO] [stdout] --> src/multiscalar_mul.rs:141:14 [INFO] [stdout] | [INFO] [stdout] 141 | for i in 0..digits_count { [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] 141 - for i in 0..digits_count { [INFO] [stdout] 141 + for (i, ) in digits.iter_mut().enumerate().take(digits_count) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/multiscalar_mul.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let bit_buf: u64; [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 `bit_buf` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 148 ~ [INFO] [stdout] 149 ~ let bit_buf: u64 = if bit_idx < 64 - w || u64_idx == 3 { [INFO] [stdout] 150 | // This window's bits are contained in a single u64, [INFO] [stdout] 151 | // or it's the last u64 anyway. [INFO] [stdout] 152 ~ scalar64x4[u64_idx] >> bit_idx [INFO] [stdout] 153 | } else { [INFO] [stdout] 154 | // Combine the current u64's bits with the bits from the next u64 [INFO] [stdout] 155 ~ (scalar64x4[u64_idx] >> bit_idx) | (scalar64x4[1 + u64_idx] << (64 - bit_idx)) [INFO] [stdout] 156 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/multiscalar_mul.rs:163:25 [INFO] [stdout] | [INFO] [stdout] 163 | carry = (coef + (radix / 2) as u64) >> w; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `(radix / 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/multiscalar_mul.rs:210:34 [INFO] [stdout] | [INFO] [stdout] 210 | .filter(|(s, _)| !(*s == &Scalar::zero())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(*s != &Scalar::zero())` [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: manual implementation of an assign operation [INFO] [stdout] --> src/multiscalar_mul.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | running_sum = running_sum + b; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `running_sum += b` [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 `vec!` [INFO] [stdout] --> src/scalar.rs:1348:23 [INFO] [stdout] | [INFO] [stdout] 1348 | let scalars = vec![Scalar::one(), Scalar::one()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[Scalar::one(), Scalar::one()]` [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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/scalar.rs:1355:23 [INFO] [stdout] | [INFO] [stdout] 1355 | let scalars = vec![Scalar::one() + Scalar::one(), Scalar::one() + Scalar::one()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[Scalar::one() + Scalar::one(), Scalar::one() + Scalar::one()]` [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.50s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.2.11 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4` [INFO] running `Command { std: "docker" "inspect" "c42f6447a7606f5ca12556e0e63a13a24f3dd5a51e933084101018a4c8dd1400", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c42f6447a7606f5ca12556e0e63a13a24f3dd5a51e933084101018a4c8dd1400", kill_on_drop: false }` [INFO] [stdout] c42f6447a7606f5ca12556e0e63a13a24f3dd5a51e933084101018a4c8dd1400