[INFO] cloning repository https://github.com/tubackkhoa/zksnarks-zerocash
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tubackkhoa/zksnarks-zerocash" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftubackkhoa%2Fzksnarks-zerocash", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftubackkhoa%2Fzksnarks-zerocash'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b95ee8cb5743440dce8a8c9b4c7f8248dc4d8ab6
[INFO] testing tubackkhoa/zksnarks-zerocash against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftubackkhoa%2Fzksnarks-zerocash" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/tubackkhoa/zksnarks-zerocash on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/tubackkhoa/zksnarks-zerocash
[INFO] finished tweaking git repo https://github.com/tubackkhoa/zksnarks-zerocash
[INFO] tweaked toml for git repo https://github.com/tubackkhoa/zksnarks-zerocash written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/tubackkhoa/zksnarks-zerocash 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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/gtank/blake2-rfc`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.33
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.33
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.33
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.33
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.33
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a72a22c9a0c29d04dbf7773d290d0b78529a9c8cad8f726c42e873f5c5c63732
[INFO] running `Command { std: "docker" "start" "-a" "a72a22c9a0c29d04dbf7773d290d0b78529a9c8cad8f726c42e873f5c5c63732", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a72a22c9a0c29d04dbf7773d290d0b78529a9c8cad8f726c42e873f5c5c63732", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a72a22c9a0c29d04dbf7773d290d0b78529a9c8cad8f726c42e873f5c5c63732", kill_on_drop: false }`
[INFO] [stdout] a72a22c9a0c29d04dbf7773d290d0b78529a9c8cad8f726c42e873f5c5c63732
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 14741a961266324343fbbfaa0f8441af0ecd3f0eab9e8fee930a2e1f3042da63
[INFO] running `Command { std: "docker" "start" "-a" "14741a961266324343fbbfaa0f8441af0ecd3f0eab9e8fee930a2e1f3042da63", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling libc v0.2.48
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling num-bigint v0.2.2
[INFO] [stderr]    Compiling serde v1.0.87
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.33
[INFO] [stderr]    Compiling itoa v0.4.3
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling cfg-if v0.1.6
[INFO] [stderr]    Compiling nodrop v0.1.13
[INFO] [stderr]    Compiling lazy_static v1.2.0
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling constant_time_eq v0.1.3
[INFO] [stderr]    Compiling hex v0.3.2
[INFO] [stderr]    Compiling futures v0.1.25
[INFO] [stderr]    Compiling bit-vec v0.4.4
[INFO] [stderr]    Compiling wasm-bindgen v0.2.33
[INFO] [stderr]    Compiling blake2-rfc v0.2.18 (https://github.com/gtank/blake2-rfc?rev=7a5b5fc99ae483a0043db7547fb79a6fa44b88a9#7a5b5fc9)
[INFO] [stderr]    Compiling blake2-rfc v0.2.18
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]    Compiling syn v0.15.26
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]    Compiling generic-array v0.9.0
[INFO] [stderr]    Compiling digest v0.7.6
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.33
[INFO] [stderr]    Compiling serde_json v1.0.38
[INFO] [stderr]    Compiling serde_derive v1.0.87
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.33
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.33
[INFO] [stderr]    Compiling ff_derive v0.4.0 (/opt/rustwide/workdir/ff/ff_derive)
[INFO] [stderr]    Compiling ff v0.5.0 (/opt/rustwide/workdir/ff)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> ff/src/lib.rs:269:18
[INFO] [stdout]     |
[INFO] [stdout] 269 |     fn from_repr(Self::Repr) -> Result<Self, PrimeFieldDecodingError>;
[INFO] [stdout]     |                  ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Repr`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pairing v0.15.1 (/opt/rustwide/workdir/pairing)
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> pairing/src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![cfg_attr(feature = "cargo-clippy", deny(warnings))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default`, `expose-arith`, `unstable-features`
[INFO] [stdout]   = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> pairing/src/lib.rs:292:39
[INFO] [stdout]     |
[INFO] [stdout] 292 |             _ => write!(f, "{}", self.description()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> pairing/src/lib.rs:97:62
[INFO] [stdout]    |
[INFO] [stdout] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].into_iter(),
[INFO] [stdout]    |                                                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].iter(),
[INFO] [stdout]    |                                                              ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 97 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stdout]    |             ++++++++++++++++++++++++                                                ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stdout]     |
[INFO] [stdout] 446 | #[derive(PrimeField)]
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stdout]     |
[INFO] [stdout] 446 | #[derive(PrimeField)]
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bellman v0.1.0 (/opt/rustwide/workdir/bellman)
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]  --> bellman/src/lib.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[cfg(feature = "multithread")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]   = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/lib.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/lib.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:130:11
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:134:11
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:144:11
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout] 150 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:244:10
[INFO] [stdout]     |
[INFO] [stdout] 244 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> bellman/src/lib.rs:221:34
[INFO] [stdout]     |
[INFO] [stdout] 221 |             write!(f, "{}", self.description())
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> bellman/src/groth16/verifier.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 |         ].into_iter())
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 67 |         ].iter())
[INFO] [stdout]    |           ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 63 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stdout] 64 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stdout] 65 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stdout] 66 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stdout] 67 ~         ]))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sapling-crypto v0.0.3 (/opt/rustwide/workdir/sapling-crypto)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/babyjubjub/fs.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/babyjubjub/fs.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> sapling-crypto/src/babyjubjub/mod.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:134:34
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> sapling-crypto/src/circuit/num.rs:409:17
[INFO] [stdout]     |
[INFO] [stdout] 409 |     ) -> Result<(Self), SynthesisError>
[INFO] [stdout]     |                 ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 409 -     ) -> Result<(Self), SynthesisError>
[INFO] [stdout] 409 +     ) -> Result<Self, SynthesisError>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/babyjubjub/mod.rs:366:17
[INFO] [stdout]     |
[INFO] [stdout] 366 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 358 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/alt_babyjubjub/mod.rs:296:17
[INFO] [stdout]     |
[INFO] [stdout] 296 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> sapling-crypto/src/jubjub/edwards.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Point`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> sapling-crypto/src/jubjub/edwards.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Point`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> sapling-crypto/src/circuit/sprout/input.rs:78:37
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in auth_path.into_iter().enumerate() {
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in auth_path.iter().enumerate() {
[INFO] [stdout]    |                                     ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in IntoIterator::into_iter(auth_path).enumerate() {
[INFO] [stdout]    |                           ++++++++++++++++++++++++         ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-miximus v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:205:75
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stdout]     |                                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:242:26
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:270:27
[INFO] [stdout]     |
[INFO] [stdout] 270 | ) -> Result<KGVerify, Box<Error>> {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 270 | ) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/zk_util.rs:37:75
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stdout]    |                                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/zk_util.rs:74:26
[INFO] [stdout]    |
[INFO] [stdout] 74 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/zk_util.rs:124:103
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<Error>> {
[INFO] [stdout]     |                                                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_booleans` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:137:4
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn print_booleans(booleans: Vec<Boolean>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prove` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn prove(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub fn verify(
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub fn generate_tree(seed_slice: &[u32], depth: u32) -> Result<JsValue, JsValue> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prove_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:306:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub fn prove_tree(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:322:8
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub fn verify_tree(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Empty` is never constructed
[INFO] [stdout]  --> src/blake_merkle_tree.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Tree {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] 5 |     Empty {
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Tree` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]   --> src/blake_merkle_tree.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct MerkleTree {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 29 |     pub root: Tree,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MerkleTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_leaf_from_preimage` is never used
[INFO] [stdout]   --> src/blake_merkle_tree.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn create_leaf_from_preimage(nullifier: [u8; 32], secret: [u8; 32]) -> Tree {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_leaf_list` is never used
[INFO] [stdout]   --> src/blake_merkle_tree.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn create_leaf_list(mut nodes: Vec<[u8; 32]>, depth: usize) -> Vec<Box<Tree>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_root_from_proof` is never used
[INFO] [stdout]    --> src/blake_merkle_tree.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub fn compute_root_from_proof(leaf: [u8; 32], path: Vec<Option<(bool, [u8; 32])>>) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Empty` is never constructed
[INFO] [stdout]  --> src/merkle_tree.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Tree {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] 8 |     Empty {
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Tree` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]   --> src/merkle_tree.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MerkleTree {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 32 |     pub root: Tree,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MerkleTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_leaf_from_preimage` is never used
[INFO] [stdout]   --> src/merkle_tree.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn create_leaf_from_preimage(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_leaf_list` is never used
[INFO] [stdout]   --> src/merkle_tree.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn create_leaf_list(mut nodes: Vec<pairing::bn256::Fr>, depth: usize) -> Vec<Box<Tree>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_root_from_proof` is never used
[INFO] [stdout]    --> src/merkle_tree.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn compute_root_from_proof(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:190:10
[INFO] [stdout]     |
[INFO] [stdout] 190 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:200:10
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/blake_circuit.rs:224:26
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => panic!(m),
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => panic!("{}", m),
[INFO] [stdout]     |                          +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => std::panic::panic_any(m),
[INFO] [stdout]     |                   ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/blake_merkle_tree.rs:39:31
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(nullifier.into_iter());
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(nullifier.iter());
[INFO] [stdout]    |                               ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(IntoIterator::into_iter(nullifier));
[INFO] [stdout]    |                     ++++++++++++++++++++++++         ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/blake_merkle_tree.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(secret.into_iter());
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(secret.iter());
[INFO] [stdout]    |                            ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(IntoIterator::into_iter(secret));
[INFO] [stdout]    |                     ++++++++++++++++++++++++      ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.50s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9, wasm-bindgen v0.2.33
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "14741a961266324343fbbfaa0f8441af0ecd3f0eab9e8fee930a2e1f3042da63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14741a961266324343fbbfaa0f8441af0ecd3f0eab9e8fee930a2e1f3042da63", kill_on_drop: false }`
[INFO] [stdout] 14741a961266324343fbbfaa0f8441af0ecd3f0eab9e8fee930a2e1f3042da63
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 532c5b6764172438b6ac992024558081cbf5f13562565a6d3f7961992f622527
[INFO] running `Command { std: "docker" "start" "-a" "532c5b6764172438b6ac992024558081cbf5f13562565a6d3f7961992f622527", kill_on_drop: false }`
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> ff/src/lib.rs:269:18
[INFO] [stdout]     |
[INFO] [stdout] 269 |     fn from_repr(Self::Repr) -> Result<Self, PrimeFieldDecodingError>;
[INFO] [stdout]     |                  ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Repr`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> pairing/src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![cfg_attr(feature = "cargo-clippy", deny(warnings))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default`, `expose-arith`, `unstable-features`
[INFO] [stdout]   = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> pairing/src/lib.rs:292:39
[INFO] [stdout]     |
[INFO] [stdout] 292 |             _ => write!(f, "{}", self.description()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> pairing/src/lib.rs:97:62
[INFO] [stdout]    |
[INFO] [stdout] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].into_iter(),
[INFO] [stdout]    |                                                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].iter(),
[INFO] [stdout]    |                                                              ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 97 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stdout]    |             ++++++++++++++++++++++++                                                ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stdout]     |
[INFO] [stdout] 446 | #[derive(PrimeField)]
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stdout]     |
[INFO] [stdout] 446 | #[derive(PrimeField)]
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]  --> bellman/src/lib.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[cfg(feature = "multithread")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]   = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/lib.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/lib.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:130:11
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:134:11
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:144:11
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout] 150 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:244:10
[INFO] [stdout]     |
[INFO] [stdout] 244 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> bellman/src/lib.rs:221:34
[INFO] [stdout]     |
[INFO] [stdout] 221 |             write!(f, "{}", self.description())
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> bellman/src/groth16/verifier.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 |         ].into_iter())
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 67 |         ].iter())
[INFO] [stdout]    |           ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 63 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stdout] 64 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stdout] 65 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stdout] 66 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stdout] 67 ~         ]))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/babyjubjub/fs.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/babyjubjub/fs.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> sapling-crypto/src/babyjubjub/mod.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:134:34
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> sapling-crypto/src/circuit/num.rs:409:17
[INFO] [stdout]     |
[INFO] [stdout] 409 |     ) -> Result<(Self), SynthesisError>
[INFO] [stdout]     |                 ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 409 -     ) -> Result<(Self), SynthesisError>
[INFO] [stdout] 409 +     ) -> Result<Self, SynthesisError>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/babyjubjub/mod.rs:366:17
[INFO] [stdout]     |
[INFO] [stdout] 366 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 358 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/alt_babyjubjub/mod.rs:296:17
[INFO] [stdout]     |
[INFO] [stdout] 296 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> sapling-crypto/src/jubjub/edwards.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Point`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> sapling-crypto/src/jubjub/edwards.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Point`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> sapling-crypto/src/circuit/sprout/input.rs:78:37
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in auth_path.into_iter().enumerate() {
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in auth_path.iter().enumerate() {
[INFO] [stdout]    |                                     ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in IntoIterator::into_iter(auth_path).enumerate() {
[INFO] [stdout]    |                           ++++++++++++++++++++++++         ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-miximus v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sapling_crypto::circuit`
[INFO] [stdout]    --> src/lib.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     use sapling_crypto::circuit;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:205:75
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stdout]     |                                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:242:26
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:270:27
[INFO] [stdout]     |
[INFO] [stdout] 270 | ) -> Result<KGVerify, Box<Error>> {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 270 | ) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/zk_util.rs:37:75
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stdout]    |                                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/zk_util.rs:74:26
[INFO] [stdout]    |
[INFO] [stdout] 74 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/zk_util.rs:124:103
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<Error>> {
[INFO] [stdout]     |                                                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_booleans` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:137:4
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn print_booleans(booleans: Vec<Boolean>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub fn verify(
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub fn generate_tree(seed_slice: &[u32], depth: u32) -> Result<JsValue, JsValue> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prove_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:306:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub fn prove_tree(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:322:8
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub fn verify_tree(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_root_from_proof` is never used
[INFO] [stdout]    --> src/blake_merkle_tree.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub fn compute_root_from_proof(leaf: [u8; 32], path: Vec<Option<(bool, [u8; 32])>>) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:190:10
[INFO] [stdout]     |
[INFO] [stdout] 190 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:200:10
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/blake_circuit.rs:224:26
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => panic!(m),
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => panic!("{}", m),
[INFO] [stdout]     |                          +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => std::panic::panic_any(m),
[INFO] [stdout]     |                   ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/blake_merkle_tree.rs:39:31
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(nullifier.into_iter());
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(nullifier.iter());
[INFO] [stdout]    |                               ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(IntoIterator::into_iter(nullifier));
[INFO] [stdout]    |                     ++++++++++++++++++++++++         ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/blake_merkle_tree.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(secret.into_iter());
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(secret.iter());
[INFO] [stdout]    |                            ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(IntoIterator::into_iter(secret));
[INFO] [stdout]    |                     ++++++++++++++++++++++++      ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.59s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9, wasm-bindgen v0.2.33
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "532c5b6764172438b6ac992024558081cbf5f13562565a6d3f7961992f622527", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "532c5b6764172438b6ac992024558081cbf5f13562565a6d3f7961992f622527", kill_on_drop: false }`
[INFO] [stdout] 532c5b6764172438b6ac992024558081cbf5f13562565a6d3f7961992f622527
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a80bfb0cced30e55d4088d23fa9166efbda0e24236c2e223739489801dad9b22
[INFO] running `Command { std: "docker" "start" "-a" "a80bfb0cced30e55d4088d23fa9166efbda0e24236c2e223739489801dad9b22", kill_on_drop: false }`
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> ff/src/lib.rs:269:18
[INFO] [stderr]     |
[INFO] [stderr] 269 |     fn from_repr(Self::Repr) -> Result<Self, PrimeFieldDecodingError>;
[INFO] [stderr]     |                  ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Repr`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ff` (lib) generated 1 warning (run `cargo fix --lib -p ff` to apply 1 suggestion)
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]  --> pairing/src/lib.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | #![cfg_attr(feature = "cargo-clippy", deny(warnings))]
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected values for `feature` are: `default`, `expose-arith`, `unstable-features`
[INFO] [stderr]   = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> pairing/src/lib.rs:292:39
[INFO] [stderr]     |
[INFO] [stderr] 292 |             _ => write!(f, "{}", self.description()),
[INFO] [stderr]     |                                       ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stderr]   --> pairing/src/lib.rs:97:62
[INFO] [stderr]    |
[INFO] [stderr] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].into_iter(),
[INFO] [stderr]    |                                                              ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this changes meaning in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]    |
[INFO] [stderr] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].iter(),
[INFO] [stderr]    |                                                              ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 97 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stderr]    |             ++++++++++++++++++++++++                                                ~
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stderr]     |
[INFO] [stderr] 446 | #[derive(PrimeField)]
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stderr]     |
[INFO] [stderr] 446 | #[derive(PrimeField)]
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `pairing` (lib) generated 11 warnings (run `cargo fix --lib -p pairing` to apply 1 suggestion)
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]  --> bellman/src/lib.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[cfg(feature = "multithread")]
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]   = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/lib.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/lib.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:13:7
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:15:7
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:18:11
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:21:7
[INFO] [stderr]    |
[INFO] [stderr] 21 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:28:7
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:82:7
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:88:11
[INFO] [stderr]    |
[INFO] [stderr] 88 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:92:11
[INFO] [stderr]    |
[INFO] [stderr] 92 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]    --> bellman/src/multicore.rs:130:11
[INFO] [stderr]     |
[INFO] [stderr] 130 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]    --> bellman/src/multicore.rs:134:11
[INFO] [stderr]     |
[INFO] [stderr] 134 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]    --> bellman/src/multicore.rs:144:11
[INFO] [stderr]     |
[INFO] [stderr] 144 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> bellman/src/multiexp.rs:150:10
[INFO] [stderr]     |
[INFO] [stderr] 150 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 150 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stderr]     |          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> bellman/src/multiexp.rs:244:10
[INFO] [stderr]     |
[INFO] [stderr] 244 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 244 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stderr]     |          +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> bellman/src/lib.rs:221:34
[INFO] [stderr]     |
[INFO] [stderr] 221 |             write!(f, "{}", self.description())
[INFO] [stderr]     |                                  ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stderr]   --> bellman/src/groth16/verifier.rs:67:11
[INFO] [stderr]    |
[INFO] [stderr] 67 |         ].into_iter())
[INFO] [stderr]    |           ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this changes meaning in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]    |
[INFO] [stderr] 67 |         ].iter())
[INFO] [stderr]    |           ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 63 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stderr] 64 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stderr] 65 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stderr] 66 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stderr] 67 ~         ]))
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `bellman` (lib) generated 19 warnings (run `cargo fix --lib -p bellman` to apply 3 suggestions)
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/babyjubjub/fs.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |         try!(write!(f, "0x"));
[INFO] [stderr]    |         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/babyjubjub/fs.rs:84:13
[INFO] [stderr]    |
[INFO] [stderr] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> sapling-crypto/src/babyjubjub/mod.rs:137:34
[INFO] [stderr]     |
[INFO] [stderr] 137 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/jubjub/fs.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |         try!(write!(f, "0x"));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/jubjub/fs.rs:54:13
[INFO] [stderr]    |
[INFO] [stderr] 54 |             try!(write!(f, "{:016x}", *i));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> sapling-crypto/src/jubjub/mod.rs:134:34
[INFO] [stderr]     |
[INFO] [stderr] 134 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |         try!(write!(f, "0x"));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:84:13
[INFO] [stderr]    |
[INFO] [stderr] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> sapling-crypto/src/circuit/num.rs:409:17
[INFO] [stderr]     |
[INFO] [stderr] 409 |     ) -> Result<(Self), SynthesisError>
[INFO] [stderr]     |                 ^    ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 409 -     ) -> Result<(Self), SynthesisError>
[INFO] [stderr] 409 +     ) -> Result<Self, SynthesisError>
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> sapling-crypto/src/babyjubjub/mod.rs:366:17
[INFO] [stderr]     |
[INFO] [stderr] 366 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> sapling-crypto/src/jubjub/mod.rs:358:17
[INFO] [stderr]     |
[INFO] [stderr] 358 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> sapling-crypto/src/alt_babyjubjub/mod.rs:296:17
[INFO] [stderr]     |
[INFO] [stderr] 296 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> sapling-crypto/src/jubjub/edwards.rs:34:10
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Point`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> sapling-crypto/src/jubjub/edwards.rs:34:21
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stderr]    |                     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Point`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stderr]   --> sapling-crypto/src/circuit/sprout/input.rs:78:37
[INFO] [stderr]    |
[INFO] [stderr] 78 |         for (i, layer) in auth_path.into_iter().enumerate() {
[INFO] [stderr]    |                                     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this changes meaning in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]    |
[INFO] [stderr] 78 |         for (i, layer) in auth_path.iter().enumerate() {
[INFO] [stderr]    |                                     ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 78 |         for (i, layer) in IntoIterator::into_iter(auth_path).enumerate() {
[INFO] [stderr]    |                           ++++++++++++++++++++++++         ~
[INFO] [stderr] 
[INFO] [stderr] warning: `sapling-crypto` (lib) generated 15 warnings (run `cargo fix --lib -p sapling-crypto` to apply 7 suggestions)
[INFO] [stderr] warning: unused import: `sapling_crypto::circuit`
[INFO] [stderr]    --> src/lib.rs:198:9
[INFO] [stderr]     |
[INFO] [stderr] 198 |     use sapling_crypto::circuit;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/blake_circuit.rs:205:75
[INFO] [stderr]     |
[INFO] [stderr] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stderr]     |                                                                           ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stderr]     |                                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/blake_circuit.rs:242:26
[INFO] [stderr]     |
[INFO] [stderr] 242 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stderr]     |                          ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 242 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stderr]     |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/blake_circuit.rs:270:27
[INFO] [stderr]     |
[INFO] [stderr] 270 | ) -> Result<KGVerify, Box<Error>> {
[INFO] [stderr]     |                           ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 270 | ) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stderr]     |                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/zk_util.rs:37:75
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stderr]    |                                                                           ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stderr]    |                                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/zk_util.rs:74:26
[INFO] [stderr]    |
[INFO] [stderr] 74 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stderr]    |                          ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 74 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/zk_util.rs:124:103
[INFO] [stderr]     |
[INFO] [stderr] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<Error>> {
[INFO] [stderr]     |                                                                                                       ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stderr]     |                                                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_booleans` is never used
[INFO] [stderr]    --> src/blake_circuit.rs:137:4
[INFO] [stderr]     |
[INFO] [stderr] 137 | fn print_booleans(booleans: Vec<Boolean>) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `verify` is never used
[INFO] [stderr]    --> src/blake_circuit.rs:265:8
[INFO] [stderr]     |
[INFO] [stderr] 265 | pub fn verify(
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_tree` is never used
[INFO] [stderr]    --> src/blake_circuit.rs:296:8
[INFO] [stderr]     |
[INFO] [stderr] 296 | pub fn generate_tree(seed_slice: &[u32], depth: u32) -> Result<JsValue, JsValue> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `prove_tree` is never used
[INFO] [stderr]    --> src/blake_circuit.rs:306:8
[INFO] [stderr]     |
[INFO] [stderr] 306 | pub fn prove_tree(
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `verify_tree` is never used
[INFO] [stderr]    --> src/blake_circuit.rs:322:8
[INFO] [stderr]     |
[INFO] [stderr] 322 | pub fn verify_tree(
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `compute_root_from_proof` is never used
[INFO] [stderr]    --> src/blake_merkle_tree.rs:178:8
[INFO] [stderr]     |
[INFO] [stderr] 178 | pub fn compute_root_from_proof(leaf: [u8; 32], path: Vec<Option<(bool, [u8; 32])>>) -> [u8; 32] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> src/blake_circuit.rs:190:10
[INFO] [stderr]     |
[INFO] [stderr] 190 | #[derive(Serialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> src/blake_circuit.rs:195:10
[INFO] [stderr]     |
[INFO] [stderr] 195 | #[derive(Serialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> src/blake_circuit.rs:200:10
[INFO] [stderr]     |
[INFO] [stderr] 200 | #[derive(Serialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/blake_circuit.rs:224:26
[INFO] [stderr]     |
[INFO] [stderr] 224 |         Err(m) => panic!(m),
[INFO] [stderr]     |                          ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 224 |         Err(m) => panic!("{}", m),
[INFO] [stderr]     |                          +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 224 |         Err(m) => std::panic::panic_any(m),
[INFO] [stderr]     |                   ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stderr]   --> src/blake_merkle_tree.rs:39:31
[INFO] [stderr]    |
[INFO] [stderr] 39 |     preimage.extend(nullifier.into_iter());
[INFO] [stderr]    |                               ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this changes meaning in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]    |
[INFO] [stderr] 39 |     preimage.extend(nullifier.iter());
[INFO] [stderr]    |                               ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 39 |     preimage.extend(IntoIterator::into_iter(nullifier));
[INFO] [stderr]    |                     ++++++++++++++++++++++++         ~
[INFO] [stderr] 
[INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stderr]   --> src/blake_merkle_tree.rs:40:28
[INFO] [stderr]    |
[INFO] [stderr] 40 |     preimage.extend(secret.into_iter());
[INFO] [stderr]    |                            ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this changes meaning in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]    |
[INFO] [stderr] 40 |     preimage.extend(secret.iter());
[INFO] [stderr]    |                            ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 40 |     preimage.extend(IntoIterator::into_iter(secret));
[INFO] [stderr]    |                     ++++++++++++++++++++++++      ~
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/zk_util.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(Serialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/zk_util.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(Serialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/zk_util.rs:32:10
[INFO] [stderr]    |
[INFO] [stderr] 32 | #[derive(Serialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-miximus` (lib test) generated 22 warnings (run `cargo fix --lib -p rust-miximus --tests` to apply 10 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9, wasm-bindgen v0.2.33
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_miximus-cfa934821ebde08e)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test::create_deposit ... ok
[INFO] [stdout] test test::test_merkle_circuit ... ok
[INFO] [stdout] test test::test_blake_merkle_circuit ... ok
[INFO] [stdout] test test::test_input_circuit_with_bls12_381 ... ok
[INFO] [stdout] test test::test_proof_creation ... ok
[INFO] [stdout] test test::test_nullifier_proof ... ok
[INFO] [stdout] test test::test_bmt_sequence has been running for over 60 seconds
[INFO] [stdout] test test::test_generate_params has been running for over 60 seconds
[INFO] [stdout] test test::test_generate_params ... FAILED
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "a80bfb0cced30e55d4088d23fa9166efbda0e24236c2e223739489801dad9b22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a80bfb0cced30e55d4088d23fa9166efbda0e24236c2e223739489801dad9b22", kill_on_drop: false }`
[INFO] [stdout] a80bfb0cced30e55d4088d23fa9166efbda0e24236c2e223739489801dad9b22
[INFO] testing tubackkhoa/zksnarks-zerocash against try#b642703cf9526da1e72c0b6755753b939a9c6b6d for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftubackkhoa%2Fzksnarks-zerocash" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/tubackkhoa/zksnarks-zerocash on toolchain b642703cf9526da1e72c0b6755753b939a9c6b6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/tubackkhoa/zksnarks-zerocash
[INFO] finished tweaking git repo https://github.com/tubackkhoa/zksnarks-zerocash
[INFO] tweaked toml for git repo https://github.com/tubackkhoa/zksnarks-zerocash written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/tubackkhoa/zksnarks-zerocash 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" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a429597b49f0a7169086d74b9f10cbea2024bd2d30d146ae5a87c6dd54d1d19e
[INFO] running `Command { std: "docker" "start" "-a" "a429597b49f0a7169086d74b9f10cbea2024bd2d30d146ae5a87c6dd54d1d19e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a429597b49f0a7169086d74b9f10cbea2024bd2d30d146ae5a87c6dd54d1d19e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a429597b49f0a7169086d74b9f10cbea2024bd2d30d146ae5a87c6dd54d1d19e", kill_on_drop: false }`
[INFO] [stdout] a429597b49f0a7169086d74b9f10cbea2024bd2d30d146ae5a87c6dd54d1d19e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2a3741965f68333e4f51bf5661157b27697f479085c5e8b36d5b08f714e93580
[INFO] running `Command { std: "docker" "start" "-a" "2a3741965f68333e4f51bf5661157b27697f479085c5e8b36d5b08f714e93580", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling libc v0.2.48
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]    Compiling serde v1.0.87
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling num-bigint v0.2.2
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.33
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling cfg-if v0.1.6
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling itoa v0.4.3
[INFO] [stderr]    Compiling lazy_static v1.2.0
[INFO] [stderr]    Compiling nodrop v0.1.13
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling constant_time_eq v0.1.3
[INFO] [stderr]    Compiling hex v0.3.2
[INFO] [stderr]    Compiling wasm-bindgen v0.2.33
[INFO] [stderr]    Compiling bit-vec v0.4.4
[INFO] [stderr]    Compiling futures v0.1.25
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stderr]    Compiling blake2-rfc v0.2.18 (https://github.com/gtank/blake2-rfc?rev=7a5b5fc99ae483a0043db7547fb79a6fa44b88a9#7a5b5fc9)
[INFO] [stderr]    Compiling blake2-rfc v0.2.18
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]    Compiling syn v0.15.26
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]    Compiling generic-array v0.9.0
[INFO] [stderr]    Compiling digest v0.7.6
[INFO] [stderr]    Compiling serde_json v1.0.38
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.33
[INFO] [stderr]    Compiling serde_derive v1.0.87
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.33
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.33
[INFO] [stderr]    Compiling ff_derive v0.4.0 (/opt/rustwide/workdir/ff/ff_derive)
[INFO] [stderr]    Compiling ff v0.5.0 (/opt/rustwide/workdir/ff)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> ff/src/lib.rs:269:18
[INFO] [stdout]     |
[INFO] [stdout] 269 |     fn from_repr(Self::Repr) -> Result<Self, PrimeFieldDecodingError>;
[INFO] [stdout]     |                  ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Repr`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pairing v0.15.1 (/opt/rustwide/workdir/pairing)
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> pairing/src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![cfg_attr(feature = "cargo-clippy", deny(warnings))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default`, `expose-arith`, `unstable-features`
[INFO] [stdout]   = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> pairing/src/lib.rs:292:39
[INFO] [stdout]     |
[INFO] [stdout] 292 |             _ => write!(f, "{}", self.description()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> pairing/src/lib.rs:97:62
[INFO] [stdout]    |
[INFO] [stdout] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].into_iter(),
[INFO] [stdout]    |                                                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].iter(),
[INFO] [stdout]    |                                                              ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 97 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stdout]    |             ++++++++++++++++++++++++                                                ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stdout]     |
[INFO] [stdout] 446 | #[derive(PrimeField)]
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stdout]     |
[INFO] [stdout] 446 | #[derive(PrimeField)]
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bellman v0.1.0 (/opt/rustwide/workdir/bellman)
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]  --> bellman/src/lib.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[cfg(feature = "multithread")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]   = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/lib.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/lib.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:130:11
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:134:11
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:144:11
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout] 150 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:244:10
[INFO] [stdout]     |
[INFO] [stdout] 244 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> bellman/src/lib.rs:221:34
[INFO] [stdout]     |
[INFO] [stdout] 221 |             write!(f, "{}", self.description())
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> bellman/src/groth16/verifier.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 |         ].into_iter())
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 67 |         ].iter())
[INFO] [stdout]    |           ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 63 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stdout] 64 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stdout] 65 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stdout] 66 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stdout] 67 ~         ]))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sapling-crypto v0.0.3 (/opt/rustwide/workdir/sapling-crypto)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/babyjubjub/fs.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/babyjubjub/fs.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> sapling-crypto/src/babyjubjub/mod.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:134:34
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> sapling-crypto/src/circuit/num.rs:409:17
[INFO] [stdout]     |
[INFO] [stdout] 409 |     ) -> Result<(Self), SynthesisError>
[INFO] [stdout]     |                 ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 409 -     ) -> Result<(Self), SynthesisError>
[INFO] [stdout] 409 +     ) -> Result<Self, SynthesisError>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/babyjubjub/mod.rs:366:17
[INFO] [stdout]     |
[INFO] [stdout] 366 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 358 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/alt_babyjubjub/mod.rs:296:17
[INFO] [stdout]     |
[INFO] [stdout] 296 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> sapling-crypto/src/jubjub/edwards.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Point`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> sapling-crypto/src/jubjub/edwards.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Point`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> sapling-crypto/src/circuit/sprout/input.rs:78:37
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in auth_path.into_iter().enumerate() {
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in auth_path.iter().enumerate() {
[INFO] [stdout]    |                                     ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in IntoIterator::into_iter(auth_path).enumerate() {
[INFO] [stdout]    |                           ++++++++++++++++++++++++         ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-miximus v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:205:75
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stdout]     |                                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:242:26
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:270:27
[INFO] [stdout]     |
[INFO] [stdout] 270 | ) -> Result<KGVerify, Box<Error>> {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 270 | ) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/zk_util.rs:37:75
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stdout]    |                                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/zk_util.rs:74:26
[INFO] [stdout]    |
[INFO] [stdout] 74 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/zk_util.rs:124:103
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<Error>> {
[INFO] [stdout]     |                                                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_booleans` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:137:4
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn print_booleans(booleans: Vec<Boolean>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prove` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn prove(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub fn verify(
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub fn generate_tree(seed_slice: &[u32], depth: u32) -> Result<JsValue, JsValue> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prove_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:306:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub fn prove_tree(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:322:8
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub fn verify_tree(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Empty` is never constructed
[INFO] [stdout]  --> src/blake_merkle_tree.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Tree {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] 5 |     Empty {
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Tree` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]   --> src/blake_merkle_tree.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct MerkleTree {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 29 |     pub root: Tree,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MerkleTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_leaf_from_preimage` is never used
[INFO] [stdout]   --> src/blake_merkle_tree.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn create_leaf_from_preimage(nullifier: [u8; 32], secret: [u8; 32]) -> Tree {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_leaf_list` is never used
[INFO] [stdout]   --> src/blake_merkle_tree.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn create_leaf_list(mut nodes: Vec<[u8; 32]>, depth: usize) -> Vec<Box<Tree>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_root_from_proof` is never used
[INFO] [stdout]    --> src/blake_merkle_tree.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub fn compute_root_from_proof(leaf: [u8; 32], path: Vec<Option<(bool, [u8; 32])>>) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Empty` is never constructed
[INFO] [stdout]  --> src/merkle_tree.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Tree {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] 8 |     Empty {
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Tree` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]   --> src/merkle_tree.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MerkleTree {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 32 |     pub root: Tree,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MerkleTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_leaf_from_preimage` is never used
[INFO] [stdout]   --> src/merkle_tree.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn create_leaf_from_preimage(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_leaf_list` is never used
[INFO] [stdout]   --> src/merkle_tree.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn create_leaf_list(mut nodes: Vec<pairing::bn256::Fr>, depth: usize) -> Vec<Box<Tree>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_root_from_proof` is never used
[INFO] [stdout]    --> src/merkle_tree.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn compute_root_from_proof(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:190:10
[INFO] [stdout]     |
[INFO] [stdout] 190 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:200:10
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/blake_circuit.rs:224:26
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => panic!(m),
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => panic!("{}", m),
[INFO] [stdout]     |                          +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => std::panic::panic_any(m),
[INFO] [stdout]     |                   ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/blake_merkle_tree.rs:39:31
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(nullifier.into_iter());
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(nullifier.iter());
[INFO] [stdout]    |                               ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(IntoIterator::into_iter(nullifier));
[INFO] [stdout]    |                     ++++++++++++++++++++++++         ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/blake_merkle_tree.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(secret.into_iter());
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(secret.iter());
[INFO] [stdout]    |                            ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(IntoIterator::into_iter(secret));
[INFO] [stdout]    |                     ++++++++++++++++++++++++      ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.42s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9, wasm-bindgen v0.2.33
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "2a3741965f68333e4f51bf5661157b27697f479085c5e8b36d5b08f714e93580", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a3741965f68333e4f51bf5661157b27697f479085c5e8b36d5b08f714e93580", kill_on_drop: false }`
[INFO] [stdout] 2a3741965f68333e4f51bf5661157b27697f479085c5e8b36d5b08f714e93580
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7a141ba29bcf6d3e5cede36f9659af340578dfde651f6aa6383b92c63428c265
[INFO] running `Command { std: "docker" "start" "-a" "7a141ba29bcf6d3e5cede36f9659af340578dfde651f6aa6383b92c63428c265", kill_on_drop: false }`
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> ff/src/lib.rs:269:18
[INFO] [stdout]     |
[INFO] [stdout] 269 |     fn from_repr(Self::Repr) -> Result<Self, PrimeFieldDecodingError>;
[INFO] [stdout]     |                  ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Repr`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> pairing/src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![cfg_attr(feature = "cargo-clippy", deny(warnings))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default`, `expose-arith`, `unstable-features`
[INFO] [stdout]   = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> pairing/src/lib.rs:292:39
[INFO] [stdout]     |
[INFO] [stdout] 292 |             _ => write!(f, "{}", self.description()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> pairing/src/lib.rs:97:62
[INFO] [stdout]    |
[INFO] [stdout] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].into_iter(),
[INFO] [stdout]    |                                                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].iter(),
[INFO] [stdout]    |                                                              ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 97 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stdout]    |             ++++++++++++++++++++++++                                                ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stdout]     |
[INFO] [stdout] 446 | #[derive(PrimeField)]
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stdout]     |
[INFO] [stdout] 446 | #[derive(PrimeField)]
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PrimeField)]
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]  --> bellman/src/lib.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[cfg(feature = "multithread")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]   = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/lib.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/lib.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[cfg(feature = "multithread")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]   --> bellman/src/multicore.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:130:11
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:134:11
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stdout]    --> bellman/src/multicore.rs:144:11
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[cfg(not(feature = "multithread"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stdout]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout] 150 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:244:10
[INFO] [stdout]     |
[INFO] [stdout] 244 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> bellman/src/lib.rs:221:34
[INFO] [stdout]     |
[INFO] [stdout] 221 |             write!(f, "{}", self.description())
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> bellman/src/groth16/verifier.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 |         ].into_iter())
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 67 |         ].iter())
[INFO] [stdout]    |           ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 63 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stdout] 64 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stdout] 65 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stdout] 66 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stdout] 67 ~         ]))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/babyjubjub/fs.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/babyjubjub/fs.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> sapling-crypto/src/babyjubjub/mod.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:134:34
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> sapling-crypto/src/circuit/num.rs:409:17
[INFO] [stdout]     |
[INFO] [stdout] 409 |     ) -> Result<(Self), SynthesisError>
[INFO] [stdout]     |                 ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 409 -     ) -> Result<(Self), SynthesisError>
[INFO] [stdout] 409 +     ) -> Result<Self, SynthesisError>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/babyjubjub/mod.rs:366:17
[INFO] [stdout]     |
[INFO] [stdout] 366 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 358 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/alt_babyjubjub/mod.rs:296:17
[INFO] [stdout]     |
[INFO] [stdout] 296 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> sapling-crypto/src/jubjub/edwards.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Point`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> sapling-crypto/src/jubjub/edwards.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Point`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-miximus v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> sapling-crypto/src/circuit/sprout/input.rs:78:37
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in auth_path.into_iter().enumerate() {
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in auth_path.iter().enumerate() {
[INFO] [stdout]    |                                     ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (i, layer) in IntoIterator::into_iter(auth_path).enumerate() {
[INFO] [stdout]    |                           ++++++++++++++++++++++++         ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sapling_crypto::circuit`
[INFO] [stdout]    --> src/lib.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     use sapling_crypto::circuit;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:205:75
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stdout]     |                                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:242:26
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blake_circuit.rs:270:27
[INFO] [stdout]     |
[INFO] [stdout] 270 | ) -> Result<KGVerify, Box<Error>> {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 270 | ) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/zk_util.rs:37:75
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stdout]    |                                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/zk_util.rs:74:26
[INFO] [stdout]    |
[INFO] [stdout] 74 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/zk_util.rs:124:103
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<Error>> {
[INFO] [stdout]     |                                                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_booleans` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:137:4
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn print_booleans(booleans: Vec<Boolean>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub fn verify(
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub fn generate_tree(seed_slice: &[u32], depth: u32) -> Result<JsValue, JsValue> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prove_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:306:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub fn prove_tree(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_tree` is never used
[INFO] [stdout]    --> src/blake_circuit.rs:322:8
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub fn verify_tree(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_root_from_proof` is never used
[INFO] [stdout]    --> src/blake_merkle_tree.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub fn compute_root_from_proof(leaf: [u8; 32], path: Vec<Option<(bool, [u8; 32])>>) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:190:10
[INFO] [stdout]     |
[INFO] [stdout] 190 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/blake_circuit.rs:200:10
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[derive(Serialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/blake_circuit.rs:224:26
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => panic!(m),
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => panic!("{}", m),
[INFO] [stdout]     |                          +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Err(m) => std::panic::panic_any(m),
[INFO] [stdout]     |                   ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/blake_merkle_tree.rs:39:31
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(nullifier.into_iter());
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(nullifier.iter());
[INFO] [stdout]    |                               ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 39 |     preimage.extend(IntoIterator::into_iter(nullifier));
[INFO] [stdout]    |                     ++++++++++++++++++++++++         ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/blake_merkle_tree.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(secret.into_iter());
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(secret.iter());
[INFO] [stdout]    |                            ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preimage.extend(IntoIterator::into_iter(secret));
[INFO] [stdout]    |                     ++++++++++++++++++++++++      ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/zk_util.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.68s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9, wasm-bindgen v0.2.33
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "7a141ba29bcf6d3e5cede36f9659af340578dfde651f6aa6383b92c63428c265", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a141ba29bcf6d3e5cede36f9659af340578dfde651f6aa6383b92c63428c265", kill_on_drop: false }`
[INFO] [stdout] 7a141ba29bcf6d3e5cede36f9659af340578dfde651f6aa6383b92c63428c265
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2c8f593a2c9e438a2c8418a7c0b6bdcfedc7a041aaa699a6132d5f8b1eecfa25
[INFO] running `Command { std: "docker" "start" "-a" "2c8f593a2c9e438a2c8418a7c0b6bdcfedc7a041aaa699a6132d5f8b1eecfa25", kill_on_drop: false }`
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> ff/src/lib.rs:269:18
[INFO] [stderr]     |
[INFO] [stderr] 269 |     fn from_repr(Self::Repr) -> Result<Self, PrimeFieldDecodingError>;
[INFO] [stderr]     |                  ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Repr`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ff` (lib) generated 1 warning (run `cargo fix --lib -p ff` to apply 1 suggestion)
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]  --> pairing/src/lib.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | #![cfg_attr(feature = "cargo-clippy", deny(warnings))]
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected values for `feature` are: `default`, `expose-arith`, `unstable-features`
[INFO] [stderr]   = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> pairing/src/lib.rs:292:39
[INFO] [stderr]     |
[INFO] [stderr] 292 |             _ => write!(f, "{}", self.description()),
[INFO] [stderr]     |                                       ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stderr]   --> pairing/src/lib.rs:97:62
[INFO] [stderr]    |
[INFO] [stderr] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].into_iter(),
[INFO] [stderr]    |                                                              ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this changes meaning in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]    |
[INFO] [stderr] 97 |             [(&(p.into().prepare()), &(q.into().prepare()))].iter(),
[INFO] [stderr]    |                                                              ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 97 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stderr]    |             ++++++++++++++++++++++++                                                ~
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stderr]     |
[INFO] [stderr] 446 | #[derive(PrimeField)]
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> pairing/src/bls12_381/fq.rs:446:10
[INFO] [stderr]     |
[INFO] [stderr] 446 | #[derive(PrimeField)]
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bls12_381/fr.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FqRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bn256/fq.rs:4:10
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FqRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FrRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> pairing/src/bn256/fr.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(PrimeField)]
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FrRepr`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `pairing` (lib) generated 11 warnings (run `cargo fix --lib -p pairing` to apply 1 suggestion)
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]  --> bellman/src/lib.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[cfg(feature = "multithread")]
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]   = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/lib.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/lib.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:13:7
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:15:7
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:18:11
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:21:7
[INFO] [stderr]    |
[INFO] [stderr] 21 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:28:7
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:82:7
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[cfg(feature = "multithread")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:88:11
[INFO] [stderr]    |
[INFO] [stderr] 88 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]   --> bellman/src/multicore.rs:92:11
[INFO] [stderr]    |
[INFO] [stderr] 92 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]    = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]    --> bellman/src/multicore.rs:130:11
[INFO] [stderr]     |
[INFO] [stderr] 130 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]    --> bellman/src/multicore.rs:134:11
[INFO] [stderr]     |
[INFO] [stderr] 134 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `multithread`
[INFO] [stderr]    --> bellman/src/multicore.rs:144:11
[INFO] [stderr]     |
[INFO] [stderr] 144 | #[cfg(not(feature = "multithread"))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `crossbeam`, `futures-cpupool`, `num_cpus`
[INFO] [stderr]     = help: consider adding `multithread` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> bellman/src/multiexp.rs:150:10
[INFO] [stderr]     |
[INFO] [stderr] 150 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 150 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stderr]     |          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> bellman/src/multiexp.rs:244:10
[INFO] [stderr]     |
[INFO] [stderr] 244 | ) -> Box<Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 244 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stderr]     |          +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> bellman/src/lib.rs:221:34
[INFO] [stderr]     |
[INFO] [stderr] 221 |             write!(f, "{}", self.description())
[INFO] [stderr]     |                                  ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stderr]   --> bellman/src/groth16/verifier.rs:67:11
[INFO] [stderr]    |
[INFO] [stderr] 67 |         ].into_iter())
[INFO] [stderr]    |           ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this changes meaning in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]    |
[INFO] [stderr] 67 |         ].iter())
[INFO] [stderr]    |           ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 63 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stderr] 64 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stderr] 65 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stderr] 66 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stderr] 67 ~         ]))
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `bellman` (lib) generated 19 warnings (run `cargo fix --lib -p bellman` to apply 3 suggestions)
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/babyjubjub/fs.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |         try!(write!(f, "0x"));
[INFO] [stderr]    |         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/babyjubjub/fs.rs:84:13
[INFO] [stderr]    |
[INFO] [stderr] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> sapling-crypto/src/babyjubjub/mod.rs:137:34
[INFO] [stderr]     |
[INFO] [stderr] 137 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/jubjub/fs.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |         try!(write!(f, "0x"));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/jubjub/fs.rs:54:13
[INFO] [stderr]    |
[INFO] [stderr] 54 |             try!(write!(f, "{:016x}", *i));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> sapling-crypto/src/jubjub/mod.rs:134:34
[INFO] [stderr]     |
[INFO] [stderr] 134 |     fn circuit_generators(&self, FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>];
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: FixedGenerators`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |         try!(write!(f, "0x"));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> sapling-crypto/src/alt_babyjubjub/fs.rs:84:13
[INFO] [stderr]    |
[INFO] [stderr] 84 |             try!(write!(f, "{:016x}", *i));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> sapling-crypto/src/circuit/num.rs:409:17
[INFO] [stderr]     |
[INFO] [stderr] 409 |     ) -> Result<(Self), SynthesisError>
[INFO] [stderr]     |                 ^    ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 409 -     ) -> Result<(Self), SynthesisError>
[INFO] [stderr] 409 +     ) -> Result<Self, SynthesisError>
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> sapling-crypto/src/babyjubjub/mod.rs:366:17
[INFO] [stderr]     |
[INFO] [stderr] 366 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> sapling-crypto/src/jubjub/mod.rs:358:17
[INFO] [stderr]     |
[INFO] [stderr] 358 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> sapling-crypto/src/alt_babyjubjub/mod.rs:296:17
[INFO] [stderr]     |
[INFO] [stderr] 296 |             for mut gen in tmp_params.pedersen_hash_generators.iter().cloned() {
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> sapling-crypto/src/jubjub/edwards.rs:34:10
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Point`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> sapling-crypto/src/jubjub/edwards.rs:34:21
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(Serialize, Deserialize, Default)]
[INFO] [stderr]    |                     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Point`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stderr]   --> sapling-crypto/src/circuit/sprout/input.rs:78:37
[INFO] [stderr]    |
[INFO] [stderr] 78 |         for (i, layer) in auth_path.into_iter().enumerate() {
[INFO] [stderr]    |                                     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this changes meaning in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]    |
[INFO] [stderr] 78 |         for (i, layer) in auth_path.iter().enumerate() {
[INFO] [stderr]    |                                     ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 78 |         for (i, layer) in IntoIterator::into_iter(auth_path).enumerate() {
[INFO] [stderr]    |                           ++++++++++++++++++++++++         ~
[INFO] [stderr] 
[INFO] [stderr] warning: `sapling-crypto` (lib) generated 15 warnings (run `cargo fix --lib -p sapling-crypto` to apply 7 suggestions)
[INFO] [stderr] warning: unused import: `sapling_crypto::circuit`
[INFO] [stderr]    --> src/lib.rs:198:9
[INFO] [stderr]     |
[INFO] [stderr] 198 |     use sapling_crypto::circuit;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/blake_circuit.rs:205:75
[INFO] [stderr]     |
[INFO] [stderr] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stderr]     |                                                                           ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 205 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stderr]     |                                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/blake_circuit.rs:242:26
[INFO] [stderr]     |
[INFO] [stderr] 242 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stderr]     |                          ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 242 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stderr]     |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/blake_circuit.rs:270:27
[INFO] [stderr]     |
[INFO] [stderr] 270 | ) -> Result<KGVerify, Box<Error>> {
[INFO] [stderr]     |                           ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 270 | ) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stderr]     |                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/zk_util.rs:37:75
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<Error>> {
[INFO] [stderr]    |                                                                           ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub fn generate(seed_slice: &[u32], depth: u32) -> Result<KGGenerate, Box<dyn Error>> {
[INFO] [stderr]    |                                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/zk_util.rs:74:26
[INFO] [stderr]    |
[INFO] [stderr] 74 | ) -> Result<KGProof, Box<Error>> {
[INFO] [stderr]    |                          ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 74 | ) -> Result<KGProof, Box<dyn Error>> {
[INFO] [stderr]    |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/zk_util.rs:124:103
[INFO] [stderr]     |
[INFO] [stderr] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<Error>> {
[INFO] [stderr]     |                                                                                                       ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 124 | pub fn verify(params: &str, proof: &str, nullifier_hex: &str, root_hex: &str) -> Result<KGVerify, Box<dyn Error>> {
[INFO] [stderr]     |                                                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_booleans` is never used
[INFO] [stderr]    --> src/blake_circuit.rs:137:4
[INFO] [stderr]     |
[INFO] [stderr] 137 | fn print_booleans(booleans: Vec<Boolean>) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `verify` is never used
[INFO] [stderr]    --> src/blake_circuit.rs:265:8
[INFO] [stderr]     |
[INFO] [stderr] 265 | pub fn verify(
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_tree` is never used
[INFO] [stderr]    --> src/blake_circuit.rs:296:8
[INFO] [stderr]     |
[INFO] [stderr] 296 | pub fn generate_tree(seed_slice: &[u32], depth: u32) -> Result<JsValue, JsValue> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `prove_tree` is never used
[INFO] [stderr]    --> src/blake_circuit.rs:306:8
[INFO] [stderr]     |
[INFO] [stderr] 306 | pub fn prove_tree(
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `verify_tree` is never used
[INFO] [stderr]    --> src/blake_circuit.rs:322:8
[INFO] [stderr]     |
[INFO] [stderr] 322 | pub fn verify_tree(
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `compute_root_from_proof` is never used
[INFO] [stderr]    --> src/blake_merkle_tree.rs:178:8
[INFO] [stderr]     |
[INFO] [stderr] 178 | pub fn compute_root_from_proof(leaf: [u8; 32], path: Vec<Option<(bool, [u8; 32])>>) -> [u8; 32] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> src/blake_circuit.rs:190:10
[INFO] [stderr]     |
[INFO] [stderr] 190 | #[derive(Serialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> src/blake_circuit.rs:195:10
[INFO] [stderr]     |
[INFO] [stderr] 195 | #[derive(Serialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> src/blake_circuit.rs:200:10
[INFO] [stderr]     |
[INFO] [stderr] 200 | #[derive(Serialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/blake_circuit.rs:224:26
[INFO] [stderr]     |
[INFO] [stderr] 224 |         Err(m) => panic!(m),
[INFO] [stderr]     |                          ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 224 |         Err(m) => panic!("{}", m),
[INFO] [stderr]     |                          +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 224 |         Err(m) => std::panic::panic_any(m),
[INFO] [stderr]     |                   ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stderr]   --> src/blake_merkle_tree.rs:39:31
[INFO] [stderr]    |
[INFO] [stderr] 39 |     preimage.extend(nullifier.into_iter());
[INFO] [stderr]    |                               ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this changes meaning in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]    |
[INFO] [stderr] 39 |     preimage.extend(nullifier.iter());
[INFO] [stderr]    |                               ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 39 |     preimage.extend(IntoIterator::into_iter(nullifier));
[INFO] [stderr]    |                     ++++++++++++++++++++++++         ~
[INFO] [stderr] 
[INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stderr]   --> src/blake_merkle_tree.rs:40:28
[INFO] [stderr]    |
[INFO] [stderr] 40 |     preimage.extend(secret.into_iter());
[INFO] [stderr]    |                            ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this changes meaning in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]    |
[INFO] [stderr] 40 |     preimage.extend(secret.iter());
[INFO] [stderr]    |                            ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 40 |     preimage.extend(IntoIterator::into_iter(secret));
[INFO] [stderr]    |                     ++++++++++++++++++++++++      ~
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/zk_util.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(Serialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGGenerate`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/zk_util.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(Serialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGProof`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/zk_util.rs:32:10
[INFO] [stderr]    |
[INFO] [stderr] 32 | #[derive(Serialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_KGVerify`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-miximus` (lib test) generated 22 warnings (run `cargo fix --lib -p rust-miximus --tests` to apply 10 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9, wasm-bindgen v0.2.33
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_miximus-cfa934821ebde08e)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test::create_deposit ... ok
[INFO] [stdout] test test::test_merkle_circuit ... ok
[INFO] [stdout] test test::test_blake_merkle_circuit ... ok
[INFO] [stdout] test test::test_input_circuit_with_bls12_381 ... ok
[INFO] [stdout] test test::test_proof_creation ... ok
[INFO] [stdout] test test::test_nullifier_proof ... ok
[INFO] [stdout] test test::test_bmt_sequence has been running for over 60 seconds
[INFO] [stdout] test test::test_generate_params has been running for over 60 seconds
[INFO] [stdout] test test::test_generate_params ... FAILED
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "2c8f593a2c9e438a2c8418a7c0b6bdcfedc7a041aaa699a6132d5f8b1eecfa25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c8f593a2c9e438a2c8418a7c0b6bdcfedc7a041aaa699a6132d5f8b1eecfa25", kill_on_drop: false }`
[INFO] [stdout] 2c8f593a2c9e438a2c8418a7c0b6bdcfedc7a041aaa699a6132d5f8b1eecfa25
