[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] checking tubackkhoa/zksnarks-zerocash against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftubackkhoa%2Fzksnarks-zerocash" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/tubackkhoa/zksnarks-zerocash on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "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-6-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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.33
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.33
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.33
[INFO] [stderr]   Downloaded wasm-bindgen 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-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8936c062842692008fb3216b2564d08e85b348bce91ed616a123a28f386eb7bd
[INFO] running `Command { std: "docker" "start" "-a" "8936c062842692008fb3216b2564d08e85b348bce91ed616a123a28f386eb7bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8936c062842692008fb3216b2564d08e85b348bce91ed616a123a28f386eb7bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8936c062842692008fb3216b2564d08e85b348bce91ed616a123a28f386eb7bd", kill_on_drop: false }`
[INFO] [stdout] 8936c062842692008fb3216b2564d08e85b348bce91ed616a123a28f386eb7bd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 672220556f81326fa2c44e3bfff0c2c38d23dda86c839ec54e8d5e5e3594d89d
[INFO] running `Command { std: "docker" "start" "-a" "672220556f81326fa2c44e3bfff0c2c38d23dda86c839ec54e8d5e5e3594d89d", 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 num-integer v0.1.39
[INFO] [stderr]    Compiling libc v0.2.48
[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 arrayvec v0.4.10
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling cfg-if v0.1.6
[INFO] [stderr]     Checking itoa v0.4.3
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]    Compiling lazy_static v1.2.0
[INFO] [stderr]    Compiling syn v0.15.26
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stderr]     Checking constant_time_eq v0.1.3
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]    Compiling wasm-bindgen v0.2.33
[INFO] [stderr]     Checking futures v0.1.25
[INFO] [stderr]     Checking bit-vec v0.4.4
[INFO] [stderr]     Checking generic-array v0.9.0
[INFO] [stderr]     Checking blake2-rfc v0.2.18 (https://github.com/gtank/blake2-rfc?rev=7a5b5fc99ae483a0043db7547fb79a6fa44b88a9#7a5b5fc9)
[INFO] [stderr]     Checking digest v0.7.6
[INFO] [stderr]     Checking blake2-rfc v0.2.18
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking 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]     Checking 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] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking pairing v0.15.1 (/opt/rustwide/workdir/pairing)
[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: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bellman v0.1.0 (/opt/rustwide/workdir/bellman)
[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: 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: 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: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking 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: 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: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rust-miximus v0.1.0 (/opt/rustwide/workdir)
[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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 24 warnings emitted
[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: 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: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 7.93s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9
[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" "672220556f81326fa2c44e3bfff0c2c38d23dda86c839ec54e8d5e5e3594d89d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "672220556f81326fa2c44e3bfff0c2c38d23dda86c839ec54e8d5e5e3594d89d", kill_on_drop: false }`
[INFO] [stdout] 672220556f81326fa2c44e3bfff0c2c38d23dda86c839ec54e8d5e5e3594d89d
[INFO] checking tubackkhoa/zksnarks-zerocash against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftubackkhoa%2Fzksnarks-zerocash" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/tubackkhoa/zksnarks-zerocash on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "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-6-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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 99686e7a15ab1b621861d50256a629fde18daecf670e3804514d8cc8a3f35aa4
[INFO] running `Command { std: "docker" "start" "-a" "99686e7a15ab1b621861d50256a629fde18daecf670e3804514d8cc8a3f35aa4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "99686e7a15ab1b621861d50256a629fde18daecf670e3804514d8cc8a3f35aa4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "99686e7a15ab1b621861d50256a629fde18daecf670e3804514d8cc8a3f35aa4", kill_on_drop: false }`
[INFO] [stdout] 99686e7a15ab1b621861d50256a629fde18daecf670e3804514d8cc8a3f35aa4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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 -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a4e74c4113969bf1d04d80a659a4bcb4089f33c1c9489304bf03e286ea37874d
[INFO] running `Command { std: "docker" "start" "-a" "a4e74c4113969bf1d04d80a659a4bcb4089f33c1c9489304bf03e286ea37874d", 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 num-integer v0.1.39
[INFO] [stderr]    Compiling num-bigint v0.2.2
[INFO] [stderr]    Compiling libc v0.2.48
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]    Compiling serde v1.0.87
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.33
[INFO] [stderr]    Compiling cfg-if v0.1.6
[INFO] [stderr]     Checking itoa v0.4.3
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]    Compiling lazy_static v1.2.0
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]    Compiling syn v0.15.26
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]     Checking constant_time_eq v0.1.3
[INFO] [stderr]     Checking bit-vec v0.4.4
[INFO] [stderr]     Checking futures v0.1.25
[INFO] [stderr]    Compiling wasm-bindgen v0.2.33
[INFO] [stderr]     Checking blake2-rfc v0.2.18 (https://github.com/gtank/blake2-rfc?rev=7a5b5fc99ae483a0043db7547fb79a6fa44b88a9#7a5b5fc9)
[INFO] [stderr]     Checking generic-array v0.9.0
[INFO] [stderr]     Checking blake2-rfc v0.2.18
[INFO] [stderr]     Checking digest v0.7.6
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking 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]     Checking 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] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking pairing v0.15.1 (/opt/rustwide/workdir/pairing)
[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] error: 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 neither the type nor the trait are at the same nesting level as the `impl` block
[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: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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 neither the type nor the trait are at the same nesting level as the `impl` block
[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: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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 neither the type nor the trait are at the same nesting level as the `impl` block
[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: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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 neither the type nor the trait are at the same nesting level as the `impl` block
[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: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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 neither the type nor the trait are at the same nesting level as the `impl` block
[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: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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 neither the type nor the trait are at the same nesting level as the `impl` block
[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: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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 neither the type nor the trait are at the same nesting level as the `impl` block
[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: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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 neither the type nor the trait are at the same nesting level as the `impl` block
[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: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pairing` (lib) due to 9 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a4e74c4113969bf1d04d80a659a4bcb4089f33c1c9489304bf03e286ea37874d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4e74c4113969bf1d04d80a659a4bcb4089f33c1c9489304bf03e286ea37874d", kill_on_drop: false }`
[INFO] [stdout] a4e74c4113969bf1d04d80a659a4bcb4089f33c1c9489304bf03e286ea37874d
