[INFO] cloning repository https://github.com/y011d4/snarkpy [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/y011d4/snarkpy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fy011d4%2Fsnarkpy", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fy011d4%2Fsnarkpy'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 341d62ecaf53f66c465cc26f219e9b2bb080c491 [INFO] linting y011d4/snarkpy against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fy011d4%2Fsnarkpy" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/y011d4/snarkpy [INFO] finished tweaking git repo https://github.com/y011d4/snarkpy [INFO] tweaked toml for git repo https://github.com/y011d4/snarkpy written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/y011d4/snarkpy on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/y011d4/snarkpy already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded pyo3-macros-backend v0.20.2 [INFO] [stderr] Downloaded indoc v2.0.4 [INFO] [stderr] Downloaded target-lexicon v0.12.13 [INFO] [stderr] Downloaded pyo3-macros v0.20.2 [INFO] [stderr] Downloaded pyo3-ffi v0.20.2 [INFO] [stderr] Downloaded pyo3-build-config v0.20.2 [INFO] [stderr] Downloaded rug v1.24.0 [INFO] [stderr] Downloaded pyo3 v0.20.2 [INFO] [stderr] Downloaded gmp-mpfr-sys v1.6.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] eb7dcf3fd7dc57bcbe8368e12111b392395b4c8af6cae16f3603ff90943ccd90 [INFO] running `Command { std: "docker" "start" "-a" "eb7dcf3fd7dc57bcbe8368e12111b392395b4c8af6cae16f3603ff90943ccd90", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "eb7dcf3fd7dc57bcbe8368e12111b392395b4c8af6cae16f3603ff90943ccd90", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eb7dcf3fd7dc57bcbe8368e12111b392395b4c8af6cae16f3603ff90943ccd90", kill_on_drop: false }` [INFO] [stdout] eb7dcf3fd7dc57bcbe8368e12111b392395b4c8af6cae16f3603ff90943ccd90 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1744f02db36a83b7eb15532ddab14f267713eff77f3ac8ed038083d85b703a29 [INFO] running `Command { std: "docker" "start" "-a" "1744f02db36a83b7eb15532ddab14f267713eff77f3ac8ed038083d85b703a29", kill_on_drop: false }` [INFO] [stderr] Compiling target-lexicon v0.12.13 [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Compiling gmp-mpfr-sys v1.6.2 [INFO] [stderr] Compiling num-bigint v0.4.4 [INFO] [stderr] Compiling az v1.2.1 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling rug v1.24.0 [INFO] [stderr] Checking unindent v0.2.3 [INFO] [stderr] Compiling indoc v2.0.4 [INFO] [stderr] Checking rayon v1.8.1 [INFO] [stderr] Checking tiny-keccak v2.0.2 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling pyo3-build-config v0.20.2 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling pyo3-ffi v0.20.2 [INFO] [stderr] Compiling pyo3 v0.20.2 [INFO] [stderr] Compiling pyo3-macros-backend v0.20.2 [INFO] [stderr] Compiling pyo3-macros v0.20.2 [INFO] [stderr] Checking snarkpy v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `OMEGA_POWS` [INFO] [stdout] --> src/polynomial.rs:10:54 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::field::{BigIntOrGFElement, GFElement, GF, OMEGA_POWS}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OMEGA_POWS` [INFO] [stdout] --> src/polynomial.rs:10:54 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::field::{BigIntOrGFElement, GFElement, GF, OMEGA_POWS}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/polynomial.rs:694:21 [INFO] [stdout] | [INFO] [stdout] 694 | assert!(result_len >= result_degree + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `result_len > result_degree` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] = note: `#[warn(clippy::int_plus_one)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/polynomial.rs:694:21 [INFO] [stdout] | [INFO] [stdout] 694 | assert!(result_len >= result_degree + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `result_len > result_degree` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] = note: `#[warn(clippy::int_plus_one)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cls` [INFO] [stdout] --> src/elliptic_curve/bn128.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | fn zero(cls: &PyType) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cls` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cls` [INFO] [stdout] --> src/elliptic_curve/bn128.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | fn zero(cls: &PyType) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cls` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `OMEGA_POWS` is never used [INFO] [stdout] --> src/field.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub static OMEGA_POWS: Lazy>>> = [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, and `z` are never read [INFO] [stdout] --> src/elliptic_curve/bn128.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct BN128Element2 { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 44 | x: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] 45 | y: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] 46 | z: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `BN128Element2` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, and `z` are never read [INFO] [stdout] --> src/elliptic_curve/bn128.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct BN128Element12 { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 52 | x: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] 53 | y: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] 54 | z: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `BN128Element12` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/field.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | pub static OMEGA_POWS: Lazy>>> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `OMEGA_POWS` is never used [INFO] [stdout] --> src/field.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub static OMEGA_POWS: Lazy>>> = [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, and `z` are never read [INFO] [stdout] --> src/elliptic_curve/bn128.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct BN128Element2 { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 44 | x: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] 45 | y: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] 46 | z: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `BN128Element2` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, and `z` are never read [INFO] [stdout] --> src/elliptic_curve/bn128.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct BN128Element12 { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 52 | x: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] 53 | y: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] 54 | z: GFPolynomialElement, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `BN128Element12` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/field.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | pub static OMEGA_POWS: Lazy>>> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/field.rs:101:48 [INFO] [stdout] | [INFO] [stdout] 101 | if R_INFO.lock().unwrap().contains_key(&cache_key) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `cache_key` [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: manually reimplementing `div_ceil` [INFO] [stdout] --> src/field.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | ((self.p.signed_bits() - 1 + 7) / 8) as u64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `(self.p.signed_bits() - 1).div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/field.rs:189:19 [INFO] [stdout] | [INFO] [stdout] 189 | fn from_bytes(&self, data: &[u8], is_montgomery: bool) -> GFElement { [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 creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/field.rs:101:48 [INFO] [stdout] | [INFO] [stdout] 101 | if R_INFO.lock().unwrap().contains_key(&cache_key) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `cache_key` [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: manually reimplementing `div_ceil` [INFO] [stdout] --> src/field.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | ((self.p.signed_bits() - 1 + 7) / 8) as u64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `(self.p.signed_bits() - 1).div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/field.rs:189:19 [INFO] [stdout] | [INFO] [stdout] 189 | fn from_bytes(&self, data: &[u8], is_montgomery: bool) -> GFElement { [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: needlessly taken reference of both operands [INFO] [stdout] --> src/field.rs:368:12 [INFO] [stdout] | [INFO] [stdout] 368 | if &result < &Integer::ZERO { [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] 368 - if &result < &Integer::ZERO { [INFO] [stdout] 368 + if result < Integer::ZERO { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/field.rs:446:24 [INFO] [stdout] | [INFO] [stdout] 446 | fn from_montgomery(&self, value: &Integer) -> Integer { [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] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/field.rs:368:12 [INFO] [stdout] | [INFO] [stdout] 368 | if &result < &Integer::ZERO { [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] 368 - if &result < &Integer::ZERO { [INFO] [stdout] 368 + if result < Integer::ZERO { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/field.rs:446:24 [INFO] [stdout] | [INFO] [stdout] 446 | fn from_montgomery(&self, value: &Integer) -> Integer { [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] [INFO] [stdout] [INFO] [stdout] warning: there is no need to manually implement bit rotation [INFO] [stdout] --> src/polynomial.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | let mut n = (n >> 16) | (n << 16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: this expression can be rewritten as: `n.rotate_left(16)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_rotate [INFO] [stdout] = note: `#[warn(clippy::manual_rotate)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: there is no need to manually implement bit rotation [INFO] [stdout] --> src/polynomial.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | let mut n = (n >> 16) | (n << 16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: this expression can be rewritten as: `n.rotate_left(16)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_rotate [INFO] [stdout] = note: `#[warn(clippy::manual_rotate)]` 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/polynomial.rs:126:58 [INFO] [stdout] | [INFO] [stdout] 126 | result = result.__mul__(&x).unwrap().__add__(&c).unwrap(); [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: manual implementation of `Option::map` [INFO] [stdout] --> src/polynomial.rs:279:27 [INFO] [stdout] | [INFO] [stdout] 279 | a.evals = match a.evals { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 280 | | Some(ref evals) => { [INFO] [stdout] 281 | | Some(evals.par_iter().map(|e| e.__add__(&b).unwrap()).collect()) [INFO] [stdout] ... | [INFO] [stdout] 284 | | }; [INFO] [stdout] | |_________________^ help: try: `a.evals.as_ref().map(|evals| evals.par_iter().map(|e| e.__add__(&b).unwrap()).collect())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` 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/polynomial.rs:126:58 [INFO] [stdout] | [INFO] [stdout] 126 | result = result.__mul__(&x).unwrap().__add__(&c).unwrap(); [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: manual implementation of `Option::map` [INFO] [stdout] --> src/polynomial.rs:361:27 [INFO] [stdout] | [INFO] [stdout] 361 | a.evals = match a.evals { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 362 | | Some(ref evals) => { [INFO] [stdout] 363 | | Some(evals.par_iter().map(|e| e.__sub__(&b).unwrap()).collect()) [INFO] [stdout] ... | [INFO] [stdout] 366 | | }; [INFO] [stdout] | |_________________^ help: try: `a.evals.as_ref().map(|evals| evals.par_iter().map(|e| e.__sub__(&b).unwrap()).collect())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/polynomial.rs:431:27 [INFO] [stdout] | [INFO] [stdout] 431 | a.evals = match a.evals { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 432 | | Some(ref evals) => { [INFO] [stdout] 433 | | Some(evals.par_iter().map(|e| e.__mul__(&b).unwrap()).collect()) [INFO] [stdout] ... | [INFO] [stdout] 436 | | }; [INFO] [stdout] | |_________________^ help: try: `a.evals.as_ref().map(|evals| evals.par_iter().map(|e| e.__mul__(&b).unwrap()).collect())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/polynomial.rs:437:28 [INFO] [stdout] | [INFO] [stdout] 437 | a.coeffs = match a.coeffs { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 438 | | Some(ref coeffs) => { [INFO] [stdout] 439 | | Some(coeffs.par_iter().map(|e| e.__mul__(&b).unwrap()).collect()) [INFO] [stdout] ... | [INFO] [stdout] 442 | | }; [INFO] [stdout] | |_________________^ help: try: `a.coeffs.as_ref().map(|coeffs| coeffs.par_iter().map(|e| e.__mul__(&b).unwrap()).collect())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/polynomial.rs:279:27 [INFO] [stdout] | [INFO] [stdout] 279 | a.evals = match a.evals { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 280 | | Some(ref evals) => { [INFO] [stdout] 281 | | Some(evals.par_iter().map(|e| e.__add__(&b).unwrap()).collect()) [INFO] [stdout] ... | [INFO] [stdout] 284 | | }; [INFO] [stdout] | |_________________^ help: try: `a.evals.as_ref().map(|evals| evals.par_iter().map(|e| e.__add__(&b).unwrap()).collect())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` 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/polynomial.rs:533:40 [INFO] [stdout] | [INFO] [stdout] 533 | let k = r[idx].__truediv__(&max_coeff)?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `max_coeff` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/polynomial.rs:361:27 [INFO] [stdout] | [INFO] [stdout] 361 | a.evals = match a.evals { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 362 | | Some(ref evals) => { [INFO] [stdout] 363 | | Some(evals.par_iter().map(|e| e.__sub__(&b).unwrap()).collect()) [INFO] [stdout] ... | [INFO] [stdout] 366 | | }; [INFO] [stdout] | |_________________^ help: try: `a.evals.as_ref().map(|evals| evals.par_iter().map(|e| e.__sub__(&b).unwrap()).collect())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/polynomial.rs:536:80 [INFO] [stdout] | [INFO] [stdout] 536 | r[idx - max_idx + j] = r[idx - max_idx + j].__sub__(&k.__mul__(&c)?)?; [INFO] [stdout] | ^^ help: change this to: `c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/polynomial.rs:540:14 [INFO] [stdout] | [INFO] [stdout] 540 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/polynomial.rs:431:27 [INFO] [stdout] | [INFO] [stdout] 431 | a.evals = match a.evals { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 432 | | Some(ref evals) => { [INFO] [stdout] 433 | | Some(evals.par_iter().map(|e| e.__mul__(&b).unwrap()).collect()) [INFO] [stdout] ... | [INFO] [stdout] 436 | | }; [INFO] [stdout] | |_________________^ help: try: `a.evals.as_ref().map(|evals| evals.par_iter().map(|e| e.__mul__(&b).unwrap()).collect())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/polynomial.rs:544:14 [INFO] [stdout] | [INFO] [stdout] 544 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/polynomial.rs:437:28 [INFO] [stdout] | [INFO] [stdout] 437 | a.coeffs = match a.coeffs { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 438 | | Some(ref coeffs) => { [INFO] [stdout] 439 | | Some(coeffs.par_iter().map(|e| e.__mul__(&b).unwrap()).collect()) [INFO] [stdout] ... | [INFO] [stdout] 442 | | }; [INFO] [stdout] | |_________________^ help: try: `a.coeffs.as_ref().map(|coeffs| coeffs.par_iter().map(|e| e.__mul__(&b).unwrap()).collect())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/polynomial.rs:533:40 [INFO] [stdout] | [INFO] [stdout] 533 | let k = r[idx].__truediv__(&max_coeff)?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `max_coeff` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/polynomial.rs:536:80 [INFO] [stdout] | [INFO] [stdout] 536 | r[idx - max_idx + j] = r[idx - max_idx + j].__sub__(&k.__mul__(&c)?)?; [INFO] [stdout] | ^^ help: change this to: `c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/polynomial.rs:540:14 [INFO] [stdout] | [INFO] [stdout] 540 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/polynomial.rs:544:14 [INFO] [stdout] | [INFO] [stdout] 544 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/polynomial.rs:588:27 [INFO] [stdout] | [INFO] [stdout] 588 | fn fft(&self, coeffs: &Vec, omegas: &[GFElement]) -> PyResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 588 ~ fn fft(&self, coeffs: &[GFElement], omegas: &[GFElement]) -> PyResult> { [INFO] [stdout] 589 | let n = coeffs.len(); [INFO] [stdout] ... [INFO] [stdout] 597 | let step = MAX_L >> k; [INFO] [stdout] 598 ~ let mut evals = coeffs.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/polynomial.rs:588:27 [INFO] [stdout] | [INFO] [stdout] 588 | fn fft(&self, coeffs: &Vec, omegas: &[GFElement]) -> PyResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 588 ~ fn fft(&self, coeffs: &[GFElement], omegas: &[GFElement]) -> PyResult> { [INFO] [stdout] 589 | let n = coeffs.len(); [INFO] [stdout] ... [INFO] [stdout] 597 | let step = MAX_L >> k; [INFO] [stdout] 598 ~ let mut evals = coeffs.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/polynomial.rs:749:17 [INFO] [stdout] | [INFO] [stdout] 749 | || (!self.coeffs.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.coeffs.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/polynomial.rs:754:60 [INFO] [stdout] | [INFO] [stdout] 754 | self.evals = Some(self.coeffs_to_evals(&coeffs)?); [INFO] [stdout] | ^^^^^^^ help: change this to: `coeffs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/polynomial.rs:767:17 [INFO] [stdout] | [INFO] [stdout] 767 | || (!self.evals.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `self.evals.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/polynomial.rs:772:61 [INFO] [stdout] | [INFO] [stdout] 772 | self.coeffs = Some(self.evals_to_coeffs(&evals)?); [INFO] [stdout] | ^^^^^^ help: change this to: `evals` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/polynomial.rs:811:9 [INFO] [stdout] | [INFO] [stdout] 811 | coeffs.sort_by(|a, b| a.0.cmp(&b.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 811 - coeffs.sort_by(|a, b| a.0.cmp(&b.0)); [INFO] [stdout] 811 + coeffs.sort_by_key(|a| a.0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/polynomial.rs:749:17 [INFO] [stdout] | [INFO] [stdout] 749 | || (!self.coeffs.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.coeffs.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/polynomial.rs:754:60 [INFO] [stdout] | [INFO] [stdout] 754 | self.evals = Some(self.coeffs_to_evals(&coeffs)?); [INFO] [stdout] | ^^^^^^^ help: change this to: `coeffs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/polynomial.rs:767:17 [INFO] [stdout] | [INFO] [stdout] 767 | || (!self.evals.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `self.evals.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/polynomial.rs:772:61 [INFO] [stdout] | [INFO] [stdout] 772 | self.coeffs = Some(self.evals_to_coeffs(&evals)?); [INFO] [stdout] | ^^^^^^ help: change this to: `evals` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/polynomial.rs:811:9 [INFO] [stdout] | [INFO] [stdout] 811 | coeffs.sort_by(|a, b| a.0.cmp(&b.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 811 - coeffs.sort_by(|a, b| a.0.cmp(&b.0)); [INFO] [stdout] 811 + coeffs.sort_by_key(|a| a.0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/elliptic_curve/bn128.rs:188:20 [INFO] [stdout] | [INFO] [stdout] 188 | return Ok(self.double()?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 188 - return Ok(self.double()?); [INFO] [stdout] 188 + return self.double(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/elliptic_curve/bn128.rs:201:28 [INFO] [stdout] | [INFO] [stdout] 201 | let w = z1.__mul__(&z2)?; [INFO] [stdout] | ^^^ help: change this to: `z2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/elliptic_curve/bn128.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | / return Ok(Self { [INFO] [stdout] 221 | | x: BN128.fp.zero(), [INFO] [stdout] 222 | | y: BN128.fp.one(), [INFO] [stdout] 223 | | z: BN128.fp.zero(), [INFO] [stdout] 224 | | }); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 220 ~ Ok(Self { [INFO] [stdout] 221 + x: BN128.fp.zero(), [INFO] [stdout] 222 + y: BN128.fp.one(), [INFO] [stdout] 223 + z: BN128.fp.zero(), [INFO] [stdout] 224 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/elliptic_curve/bn128.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | return Ok(self.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 226 - return Ok(self.clone()); [INFO] [stdout] 226 + Ok(self.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/elliptic_curve/bn128.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | return self.double()?.__mul__(&other / 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 228 - return self.double()?.__mul__(&other / 2); [INFO] [stdout] 228 + self.double()?.__mul__(&other / 2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/elliptic_curve/bn128.rs:230:13 [INFO] [stdout] | [INFO] [stdout] 230 | return self.double()?.__mul__(&other / 2)?.__add__(self); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 230 - return self.double()?.__mul__(&other / 2)?.__add__(self); [INFO] [stdout] 230 + self.double()?.__mul__(&other / 2)?.__add__(self) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/elliptic_curve/bn128.rs:219:12 [INFO] [stdout] | [INFO] [stdout] 219 | if &other == &BigInt::from(0) { [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] 219 - if &other == &BigInt::from(0) { [INFO] [stdout] 219 + if other == BigInt::from(0) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/elliptic_curve/bn128.rs:225:19 [INFO] [stdout] | [INFO] [stdout] 225 | } else if &other == &BigInt::from(1) { [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] 225 - } else if &other == &BigInt::from(1) { [INFO] [stdout] 225 + } else if other == BigInt::from(1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/elliptic_curve/bn128.rs:188:20 [INFO] [stdout] | [INFO] [stdout] 188 | return Ok(self.double()?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 188 - return Ok(self.double()?); [INFO] [stdout] 188 + return self.double(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/elliptic_curve/bn128.rs:201:28 [INFO] [stdout] | [INFO] [stdout] 201 | let w = z1.__mul__(&z2)?; [INFO] [stdout] | ^^^ help: change this to: `z2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/elliptic_curve/bn128.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | / return Ok(Self { [INFO] [stdout] 221 | | x: BN128.fp.zero(), [INFO] [stdout] 222 | | y: BN128.fp.one(), [INFO] [stdout] 223 | | z: BN128.fp.zero(), [INFO] [stdout] 224 | | }); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 220 ~ Ok(Self { [INFO] [stdout] 221 + x: BN128.fp.zero(), [INFO] [stdout] 222 + y: BN128.fp.one(), [INFO] [stdout] 223 + z: BN128.fp.zero(), [INFO] [stdout] 224 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/elliptic_curve/bn128.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | return Ok(self.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 226 - return Ok(self.clone()); [INFO] [stdout] 226 + Ok(self.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/elliptic_curve/bn128.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | return self.double()?.__mul__(&other / 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 228 - return self.double()?.__mul__(&other / 2); [INFO] [stdout] 228 + self.double()?.__mul__(&other / 2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/elliptic_curve/bn128.rs:230:13 [INFO] [stdout] | [INFO] [stdout] 230 | return self.double()?.__mul__(&other / 2)?.__add__(self); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 230 - return self.double()?.__mul__(&other / 2)?.__add__(self); [INFO] [stdout] 230 + self.double()?.__mul__(&other / 2)?.__add__(self) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/elliptic_curve/bn128.rs:219:12 [INFO] [stdout] | [INFO] [stdout] 219 | if &other == &BigInt::from(0) { [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] 219 - if &other == &BigInt::from(0) { [INFO] [stdout] 219 + if other == BigInt::from(0) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/elliptic_curve/bn128.rs:225:19 [INFO] [stdout] | [INFO] [stdout] 225 | } else if &other == &BigInt::from(1) { [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] 225 - } else if &other == &BigInt::from(1) { [INFO] [stdout] 225 + } else if other == BigInt::from(1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/elliptic_curve/bn128.rs:293:42 [INFO] [stdout] | [INFO] [stdout] 293 | let w = three.__mul__(&x.__mul__(&x)?)?; [INFO] [stdout] | ^^ help: change this to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/elliptic_curve/bn128.rs:294:27 [INFO] [stdout] | [INFO] [stdout] 294 | let s = y.__mul__(&z)?; [INFO] [stdout] | ^^ help: change this to: `z` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/elliptic_curve/bn128.rs:301:41 [INFO] [stdout] | [INFO] [stdout] 301 | .__sub__(&eight.__mul__(&y)?.__mul__(&y)?.__mul__(&s_sq)?)?, [INFO] [stdout] | ^^ help: change this to: `y` [INFO] [stdout] | [INFO] [stdout] = 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/elliptic_curve/bn128.rs:301:54 [INFO] [stdout] | [INFO] [stdout] 301 | .__sub__(&eight.__mul__(&y)?.__mul__(&y)?.__mul__(&s_sq)?)?, [INFO] [stdout] | ^^ help: change this to: `y` [INFO] [stdout] | [INFO] [stdout] = 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/elliptic_curve/bn128.rs:293:42 [INFO] [stdout] | [INFO] [stdout] 293 | let w = three.__mul__(&x.__mul__(&x)?)?; [INFO] [stdout] | ^^ help: change this to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/elliptic_curve/bn128.rs:294:27 [INFO] [stdout] | [INFO] [stdout] 294 | let s = y.__mul__(&z)?; [INFO] [stdout] | ^^ help: change this to: `z` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/elliptic_curve/bn128.rs:301:41 [INFO] [stdout] | [INFO] [stdout] 301 | .__sub__(&eight.__mul__(&y)?.__mul__(&y)?.__mul__(&s_sq)?)?, [INFO] [stdout] | ^^ help: change this to: `y` [INFO] [stdout] | [INFO] [stdout] = 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/elliptic_curve/bn128.rs:301:54 [INFO] [stdout] | [INFO] [stdout] 301 | .__sub__(&eight.__mul__(&y)?.__mul__(&y)?.__mul__(&s_sq)?)?, [INFO] [stdout] | ^^ help: change this to: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:94:1 [INFO] [stdout] | [INFO] [stdout] 94 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 95 | impl GF { [INFO] [stdout] | -- [INFO] [stdout] | | [INFO] [stdout] | `GF` is not local [INFO] [stdout] | `GF` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__add__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__sub__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__mul__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__truediv__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__pow__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__eq__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- [INFO] [stdout] | | [INFO] [stdout] | `GFElement` is not local [INFO] [stdout] | `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:503:1 [INFO] [stdout] | [INFO] [stdout] 503 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 504 | impl GFPolynomial { [INFO] [stdout] | ------------ [INFO] [stdout] | | [INFO] [stdout] | `GFPolynomial` is not local [INFO] [stdout] | `GFPolynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__add__` and up 2 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__sub__` and up 2 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__mul__` and up 2 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__truediv__` and up 2 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__pow__` and up 2 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- [INFO] [stdout] | | [INFO] [stdout] | `GFPolynomialElement` is not local [INFO] [stdout] | `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__add__` and up 2 bodies [INFO] [stdout] 56 | impl Polynomial { [INFO] [stdout] | ---------- `Polynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__sub__` and up 2 bodies [INFO] [stdout] 56 | impl Polynomial { [INFO] [stdout] | ---------- `Polynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__mul__` and up 2 bodies [INFO] [stdout] 56 | impl Polynomial { [INFO] [stdout] | ---------- `Polynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__divmod__` and up 2 bodies [INFO] [stdout] 56 | impl Polynomial { [INFO] [stdout] | ---------- `Polynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 56 | impl Polynomial { [INFO] [stdout] | ---------- [INFO] [stdout] | | [INFO] [stdout] | `Polynomial` is not local [INFO] [stdout] | `Polynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:796:1 [INFO] [stdout] | [INFO] [stdout] 796 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 797 | impl SparsePolynomial { [INFO] [stdout] | ---------------- [INFO] [stdout] | | [INFO] [stdout] | `SparsePolynomial` is not local [INFO] [stdout] | `SparsePolynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:57:1 [INFO] [stdout] | [INFO] [stdout] 57 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 58 | impl BN128 { [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | `BN128` is not local [INFO] [stdout] | `BN128` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:94:1 [INFO] [stdout] | [INFO] [stdout] 94 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 95 | impl GF { [INFO] [stdout] | -- [INFO] [stdout] | | [INFO] [stdout] | `GF` is not local [INFO] [stdout] | `GF` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__add__` and up 2 bodies [INFO] [stdout] 155 | impl BN128Element { [INFO] [stdout] | ------------ `BN128Element` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__mul__` and up 2 bodies [INFO] [stdout] 155 | impl BN128Element { [INFO] [stdout] | ------------ `BN128Element` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__add__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__sub__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__eq__` and up 2 bodies [INFO] [stdout] 155 | impl BN128Element { [INFO] [stdout] | ------------ `BN128Element` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__mul__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 155 | impl BN128Element { [INFO] [stdout] | ------------ [INFO] [stdout] | | [INFO] [stdout] | `BN128Element` is not local [INFO] [stdout] | `BN128Element` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies [INFO] [stdout] 155 | impl BN128Element { [INFO] [stdout] | ------------ `BN128Element` is not local [INFO] [stdout] | [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__truediv__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__pow__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__eq__` and up 2 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- [INFO] [stdout] | | [INFO] [stdout] | `GFElement` is not local [INFO] [stdout] | `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:243:1 [INFO] [stdout] | [INFO] [stdout] 243 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies [INFO] [stdout] 244 | impl GFElement { [INFO] [stdout] | --------- `GFElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:503:1 [INFO] [stdout] | [INFO] [stdout] 503 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 504 | impl GFPolynomial { [INFO] [stdout] | ------------ [INFO] [stdout] | | [INFO] [stdout] | `GFPolynomial` is not local [INFO] [stdout] | `GFPolynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__add__` and up 2 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__sub__` and up 2 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__mul__` and up 2 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__truediv__` and up 2 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__pow__` and up 2 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/field.rs:541:1 [INFO] [stdout] | [INFO] [stdout] 541 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 542 | impl GFPolynomialElement { [INFO] [stdout] | ------------------- [INFO] [stdout] | | [INFO] [stdout] | `GFPolynomialElement` is not local [INFO] [stdout] | `GFPolynomialElement` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__add__` and up 2 bodies [INFO] [stdout] 56 | impl Polynomial { [INFO] [stdout] | ---------- `Polynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__sub__` and up 2 bodies [INFO] [stdout] 56 | impl Polynomial { [INFO] [stdout] | ---------- `Polynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__mul__` and up 2 bodies [INFO] [stdout] 56 | impl Polynomial { [INFO] [stdout] | ---------- `Polynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__divmod__` and up 2 bodies [INFO] [stdout] 56 | impl Polynomial { [INFO] [stdout] | ---------- `Polynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 56 | impl Polynomial { [INFO] [stdout] | ---------- [INFO] [stdout] | | [INFO] [stdout] | `Polynomial` is not local [INFO] [stdout] | `Polynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/polynomial.rs:796:1 [INFO] [stdout] | [INFO] [stdout] 796 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 797 | impl SparsePolynomial { [INFO] [stdout] | ---------------- [INFO] [stdout] | | [INFO] [stdout] | `SparsePolynomial` is not local [INFO] [stdout] | `SparsePolynomial` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:57:1 [INFO] [stdout] | [INFO] [stdout] 57 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 58 | impl BN128 { [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | `BN128` is not local [INFO] [stdout] | `BN128` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__add__` and up 2 bodies [INFO] [stdout] 155 | impl BN128Element { [INFO] [stdout] | ------------ `BN128Element` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__mul__` and up 2 bodies [INFO] [stdout] 155 | impl BN128Element { [INFO] [stdout] | ------------ `BN128Element` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__eq__` and up 2 bodies [INFO] [stdout] 155 | impl BN128Element { [INFO] [stdout] | ------------ `BN128Element` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 155 | impl BN128Element { [INFO] [stdout] | ------------ [INFO] [stdout] | | [INFO] [stdout] | `BN128Element` is not local [INFO] [stdout] | `BN128Element` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/elliptic_curve/bn128.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies [INFO] [stdout] 155 | impl BN128Element { [INFO] [stdout] | ------------ `BN128Element` is not local [INFO] [stdout] | [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.19s [INFO] running `Command { std: "docker" "inspect" "1744f02db36a83b7eb15532ddab14f267713eff77f3ac8ed038083d85b703a29", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1744f02db36a83b7eb15532ddab14f267713eff77f3ac8ed038083d85b703a29", kill_on_drop: false }` [INFO] [stdout] 1744f02db36a83b7eb15532ddab14f267713eff77f3ac8ed038083d85b703a29