[INFO] cloning repository https://github.com/ansonhwa/anson-librustzcash
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ansonhwa/anson-librustzcash" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fansonhwa%2Fanson-librustzcash", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fansonhwa%2Fanson-librustzcash'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4868e36b1076427e018c54b5ff709e9082f608f2
[INFO] testing ansonhwa/anson-librustzcash against 1.76.0 for beta-1.77-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fansonhwa%2Fanson-librustzcash" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ansonhwa/anson-librustzcash on toolchain 1.76.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ansonhwa/anson-librustzcash
[INFO] finished tweaking git repo https://github.com/ansonhwa/anson-librustzcash
[INFO] tweaked toml for git repo https://github.com/ansonhwa/anson-librustzcash written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/ansonhwa/anson-librustzcash 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" "+1.76.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/gtank/blake2-rfc`
[INFO] [stderr]     Updating git repository `https://github.com/ansonhwa/anson-paradise-city`
[INFO] [stderr]     Updating git repository `https://github.com/omershlo/librustzcash.git`
[INFO] [stderr]     Updating git repository `https://github.com/ansonhwa/anson-rust-gmp`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v0.4.14
[INFO] [stderr]   Downloaded num-bigint v0.2.0
[INFO] [stderr]   Downloaded opaque-debug v0.1.1
[INFO] [stderr]   Downloaded stream-cipher v0.1.1
[INFO] [stderr]   Downloaded block-cipher-trait v0.5.3
[INFO] [stderr]   Downloaded fpe v0.1.0
[INFO] [stderr]   Downloaded aes-soft v0.2.0
[INFO] [stderr]   Downloaded aesni v0.4.1
[INFO] [stderr]   Downloaded aes v0.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+1.76.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fd83e0ba8aff9df0c57ca54d5ac36a8acaa146d47f57fac23feeecff8260ac27
[INFO] running `Command { std: "docker" "start" "-a" "fd83e0ba8aff9df0c57ca54d5ac36a8acaa146d47f57fac23feeecff8260ac27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd83e0ba8aff9df0c57ca54d5ac36a8acaa146d47f57fac23feeecff8260ac27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd83e0ba8aff9df0c57ca54d5ac36a8acaa146d47f57fac23feeecff8260ac27", kill_on_drop: false }`
[INFO] [stdout] fd83e0ba8aff9df0c57ca54d5ac36a8acaa146d47f57fac23feeecff8260ac27
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.76.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f73b598c29d9a8a71cd80fc966d173c7720bd0e244c83d421db8bc3769c873ad
[INFO] running `Command { std: "docker" "start" "-a" "f73b598c29d9a8a71cd80fc966d173c7720bd0e244c83d421db8bc3769c873ad", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling libc v0.2.40
[INFO] [stderr]    Compiling byteorder v1.2.2
[INFO] [stderr]    Compiling proc-macro2 v0.4.14
[INFO] [stderr]    Compiling num-traits v0.2.5
[INFO] [stderr]    Compiling futures v0.1.21
[INFO] [stderr]    Compiling crossbeam v0.3.2
[INFO] [stderr]    Compiling nodrop v0.1.12
[INFO] [stderr]    Compiling bit-vec v0.4.4
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling arrayvec v0.4.7
[INFO] [stderr]    Compiling constant_time_eq v0.1.3
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling rand v0.4.2
[INFO] [stderr]    Compiling num_cpus v1.8.0
[INFO] [stderr]    Compiling blake2-rfc v0.2.18 (https://github.com/gtank/blake2-rfc?rev=7a5b5fc99ae483a0043db7547fb79a6fa44b88a9#7a5b5fc9)
[INFO] [stderr]    Compiling serde v1.0.75
[INFO] [stderr]    Compiling quote v0.6.8
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]    Compiling num-bigint v0.2.0
[INFO] [stderr]    Compiling pairing v0.14.2 (/opt/rustwide/workdir/pairing)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 522 |         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]    --> pairing/src/bls12_381/fq.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             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]   --> pairing/src/lib.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn final_exponentiation(&Self::Fqk) -> Option<Self::Fqk>;
[INFO] [stdout]    |                             ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Fqk`
[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: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> pairing/src/lib.rs:555:18
[INFO] [stdout]     |
[INFO] [stdout] 555 |     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] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling futures-cpupool v0.1.8
[INFO] [stderr]    Compiling byte-tools v0.2.0
[INFO] [stderr]    Compiling generic-array v0.9.0
[INFO] [stderr]    Compiling ryu v0.2.6
[INFO] [stderr]    Compiling opaque-debug v0.1.1
[INFO] [stderr]    Compiling pairing v0.14.2 (https://github.com/omershlo/librustzcash.git?rev=3e667406323430813f6dbae2a60b5a83046fa20a#3e667406)
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> pairing/src/lib.rs:503:39
[INFO] [stdout]     |
[INFO] [stdout] 503 |             _ => write!(f, "{}", self.description()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling digest v0.7.2
[INFO] [stderr]    Compiling block-cipher-trait v0.5.3
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling aes-soft v0.2.0
[INFO] [stderr]    Compiling itoa v0.4.2
[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:107:62
[INFO] [stdout]     |
[INFO] [stdout] 107 |             [(&(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] 107 |             [(&(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] 107 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stdout]     |             ++++++++++++++++++++++++                                                ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling lazy_static v1.0.0
[INFO] [stderr]    Compiling zeroize v1.3.0
[INFO] [stderr]    Compiling bellman v0.1.0 (/opt/rustwide/workdir/bellman)
[INFO] [stderr]    Compiling aes v0.2.0
[INFO] [stderr]    Compiling zcash_wallet v0.0.0 (/opt/rustwide/workdir/zcash_wallet)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | ) -> 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] 148 | ) -> 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:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> 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] 242 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bellman v0.1.0 (https://github.com/omershlo/librustzcash.git?rev=3e667406323430813f6dbae2a60b5a83046fa20a#3e667406)
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> bellman/src/lib.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 |             write!(f, "{}", self.description())
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 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:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 |         ].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] 64 |         ].iter())
[INFO] [stdout]    |           ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 60 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stdout] 61 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stdout] 62 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stdout] 63 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stdout] 64 ~         ]))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sapling-crypto v0.0.1 (/opt/rustwide/workdir/sapling-crypto)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         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/jubjub/fs.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             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:130:34
[INFO] [stdout]     |
[INFO] [stdout] 130 |     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] [stderr]    Compiling serde_derive v1.0.75
[INFO] [stderr]    Compiling fpe v0.1.0
[INFO] [stderr]    Compiling sapling-crypto v0.0.1 (https://github.com/omershlo/librustzcash.git?rev=3e667406323430813f6dbae2a60b5a83046fa20a#3e667406)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:354:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |             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: 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 zcash_proofs v0.0.0 (/opt/rustwide/workdir/zcash_proofs)
[INFO] [stderr]    Compiling zip32 v0.0.0 (/opt/rustwide/workdir/zip32)
[INFO] [stderr]    Compiling zcash_primitives v0.0.0 (/opt/rustwide/workdir/zcash_primitives)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 | const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout]    |                                 ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 - const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout] 16 + const GROTH_PROOF_SIZE: usize = 48 + 96 + 48;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> zip32/src/lib.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 24 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 24 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout]    |                                ^                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 18 - const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout] 18 + const PHGR_PROOF_SIZE: usize = 33 + 33 + 65 + 33 + 33 + 33 + 33 + 33;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 16 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 16 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zip32/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / lazy_static! {
[INFO] [stdout] 24 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_fs` is never used
[INFO] [stdout]   --> zcash_proofs/src/sapling/prover.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn read_fs(from: &[u8]) -> FsRepr {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> zcash_proofs/src/sapling/prover.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let _ = ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_json v1.0.26
[INFO] [stderr]    Compiling rust-gmp v0.5.0 (https://github.com/ansonhwa/anson-rust-gmp#a428d31f)
[INFO] [stderr]    Compiling paradise-city v0.2.0 (https://github.com/ansonhwa/anson-paradise-city#468e7baa)
[INFO] [stderr]    Compiling librustzcash v0.1.0 (/opt/rustwide/workdir/librustzcash)
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> librustzcash/src/rustzcash.rs:80:38
[INFO] [stdout]    |
[INFO] [stdout] 80 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 80 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 80 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1250:9
[INFO] [stdout]      |
[INFO] [stdout] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |         ^            ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1250 +     let party1_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1250:25
[INFO] [stdout]      |
[INFO] [stdout] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |                         ^  ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1250 +     let (party1_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1253:9
[INFO] [stdout]      |
[INFO] [stdout] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |         ^             ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1253 +     let _party2_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1253:26
[INFO] [stdout]      |
[INFO] [stdout] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |                          ^  ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1253 +     let (_party2_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sapling_crypto::jubjub::JubjubBls12 as jjbls12_l`
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1564:5
[INFO] [stdout]      |
[INFO] [stdout] 1564 | use sapling_crypto::jubjub::JubjubBls12 as jjbls12_l;
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> librustzcash/src/rustzcash.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / lazy_static! {
[INFO] [stdout] 80 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 81 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 21.67s
[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" "f73b598c29d9a8a71cd80fc966d173c7720bd0e244c83d421db8bc3769c873ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f73b598c29d9a8a71cd80fc966d173c7720bd0e244c83d421db8bc3769c873ad", kill_on_drop: false }`
[INFO] [stdout] f73b598c29d9a8a71cd80fc966d173c7720bd0e244c83d421db8bc3769c873ad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.76.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9dfa8a88705e07d6bb55b3ad87f582f464bf5ede7cb37c4a028067903c8ea69f
[INFO] running `Command { std: "docker" "start" "-a" "9dfa8a88705e07d6bb55b3ad87f582f464bf5ede7cb37c4a028067903c8ea69f", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 522 |         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]    --> pairing/src/bls12_381/fq.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             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]   --> pairing/src/lib.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn final_exponentiation(&Self::Fqk) -> Option<Self::Fqk>;
[INFO] [stdout]    |                             ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Fqk`
[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: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> pairing/src/lib.rs:555:18
[INFO] [stdout]     |
[INFO] [stdout] 555 |     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] 
[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:503:39
[INFO] [stdout]     |
[INFO] [stdout] 503 |             _ => write!(f, "{}", self.description()),
[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]    --> pairing/src/lib.rs:107:62
[INFO] [stdout]     |
[INFO] [stdout] 107 |             [(&(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] 107 |             [(&(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] 107 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stdout]     |             ++++++++++++++++++++++++                                                ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | ) -> 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] 148 | ) -> 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:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> 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] 242 | ) -> 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:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 |             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:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 |         ].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] 64 |         ].iter())
[INFO] [stdout]    |           ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 60 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stdout] 61 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stdout] 62 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stdout] 63 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stdout] 64 ~         ]))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         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/jubjub/fs.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             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:130:34
[INFO] [stdout]     |
[INFO] [stdout] 130 |     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: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:354:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |             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: 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: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_fs` is never used
[INFO] [stdout]   --> zcash_proofs/src/sapling/prover.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn read_fs(from: &[u8]) -> FsRepr {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> zcash_proofs/src/sapling/prover.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let _ = ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 | const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout]    |                                 ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 - const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout] 16 + const GROTH_PROOF_SIZE: usize = 48 + 96 + 48;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout]    |                                ^                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 18 - const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout] 18 + const PHGR_PROOF_SIZE: usize = 33 + 33 + 65 + 33 + 33 + 33 + 33 + 33;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 16 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 16 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling zcash_proofs v0.0.0 (/opt/rustwide/workdir/zcash_proofs)
[INFO] [stderr]    Compiling sapling-crypto v0.0.1 (/opt/rustwide/workdir/sapling-crypto)
[INFO] [stderr]    Compiling zip32 v0.0.0 (/opt/rustwide/workdir/zip32)
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> zip32/src/lib.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 24 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 24 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling zcash_primitives v0.0.0 (/opt/rustwide/workdir/zcash_primitives)
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zip32/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / lazy_static! {
[INFO] [stdout] 24 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (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: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling librustzcash v0.1.0 (/opt/rustwide/workdir/librustzcash)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | ) -> 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] 148 | ) -> 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:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> 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] 242 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bellman/tests/mimc.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let mut tmp_value = xl_value.map(|mut e| {
[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]    --> bellman/tests/mimc.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut tmp = cs.alloc(|| "tmp", || {
[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]    --> bellman/tests/mimc.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |             let mut new_xl_value = xl_value.map(|mut e| {
[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]    --> bellman/tests/mimc.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |             let mut new_xl = if i == (MIMC_ROUNDS-1) {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> zip32/src/lib.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 24 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 24 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> zip32/src/lib.rs:737:10
[INFO] [stdout]     |
[INFO] [stdout] 737 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zip32/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / lazy_static! {
[INFO] [stdout] 24 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> librustzcash/src/tests/key_components.rs:30:6
[INFO] [stdout]    |
[INFO] [stdout] 30 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> librustzcash/src/tests/notes.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> librustzcash/src/tests/signatures.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> librustzcash/src/tests/mod.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> librustzcash/src/rustzcash.rs:80:38
[INFO] [stdout]    |
[INFO] [stdout] 80 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 80 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 80 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1250:9
[INFO] [stdout]      |
[INFO] [stdout] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |         ^            ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1250 +     let party1_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1250:25
[INFO] [stdout]      |
[INFO] [stdout] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |                         ^  ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1250 +     let (party1_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1253:9
[INFO] [stdout]      |
[INFO] [stdout] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |         ^             ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1253 +     let _party2_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1253:26
[INFO] [stdout]      |
[INFO] [stdout] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |                          ^  ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1253 +     let (_party2_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sapling_crypto::jubjub::JubjubBls12 as jjbls12_l`
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1564:5
[INFO] [stdout]      |
[INFO] [stdout] 1564 | use sapling_crypto::jubjub::JubjubBls12 as jjbls12_l;
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_fs` is never used
[INFO] [stdout]   --> zcash_proofs/src/sapling/prover.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn read_fs(from: &[u8]) -> FsRepr {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> librustzcash/src/rustzcash.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / lazy_static! {
[INFO] [stdout] 80 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 81 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> zcash_proofs/src/sapling/prover.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let _ = ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 | const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout]    |                                 ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 - const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout] 16 + const GROTH_PROOF_SIZE: usize = 48 + 96 + 48;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout]    |                                ^                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 18 - const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout] 18 + const PHGR_PROOF_SIZE: usize = 33 + 33 + 65 + 33 + 33 + 33 + 33 + 33;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> zcash_primitives/src/transaction/tests.rs:238:6
[INFO] [stdout]     |
[INFO] [stdout] 238 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> zcash_primitives/src/transaction/tests.rs:1943:6
[INFO] [stdout]      |
[INFO] [stdout] 1943 |     };
[INFO] [stdout]      |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 16 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 16 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[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:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         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/jubjub/fs.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             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:130:34
[INFO] [stdout]     |
[INFO] [stdout] 130 |     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 constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[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:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 |             write!(f, "{}", self.description())
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pairing v0.14.2 (/opt/rustwide/workdir/pairing)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 522 |         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]    --> pairing/src/bls12_381/fq.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             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]   --> pairing/src/lib.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn final_exponentiation(&Self::Fqk) -> Option<Self::Fqk>;
[INFO] [stdout]    |                             ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Fqk`
[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: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> pairing/src/lib.rs:555:18
[INFO] [stdout]     |
[INFO] [stdout] 555 |     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] 
[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:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 |         ].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] 64 |         ].iter())
[INFO] [stdout]    |           ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 60 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stdout] 61 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stdout] 62 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stdout] 63 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stdout] 64 ~         ]))
[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]    --> pairing/src/lib.rs:503:39
[INFO] [stdout]     |
[INFO] [stdout] 503 |             _ => write!(f, "{}", self.description()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:354:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |             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] [stderr]    Compiling zcash_wallet v0.0.0 (/opt/rustwide/workdir/zcash_wallet)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/circuit/uint32.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let mut v = (0..32).map(|_| Boolean::constant(rng.gen())).collect::<Vec<_>>();
[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/circuit/uint32.rs:460:17
[INFO] [stdout]     |
[INFO] [stdout] 460 |             let mut v = (0..32).map(|_| Boolean::constant(rng.gen())).collect::<Vec<_>>();
[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]    --> pairing/src/lib.rs:107:62
[INFO] [stdout]     |
[INFO] [stdout] 107 |             [(&(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] 107 |             [(&(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] 107 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stdout]     |             ++++++++++++++++++++++++                                                ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/circuit/pedersen_hash.rs:154:21
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 let mut input: Vec<bool> = (0..length).map(|_| rng.gen()).collect();
[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: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 11.43s
[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" "9dfa8a88705e07d6bb55b3ad87f582f464bf5ede7cb37c4a028067903c8ea69f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9dfa8a88705e07d6bb55b3ad87f582f464bf5ede7cb37c4a028067903c8ea69f", kill_on_drop: false }`
[INFO] [stdout] 9dfa8a88705e07d6bb55b3ad87f582f464bf5ede7cb37c4a028067903c8ea69f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.76.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5d4db6c4bb55ddbe9b3c2356ae3edd64b9725b953cdf6285b012ed0a3f827d07
[INFO] running `Command { std: "docker" "start" "-a" "5d4db6c4bb55ddbe9b3c2356ae3edd64b9725b953cdf6285b012ed0a3f827d07", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> pairing/src/bls12_381/fq.rs:522:9
[INFO] [stderr]     |
[INFO] [stderr] 522 |         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]    --> pairing/src/bls12_381/fq.rs:524:13
[INFO] [stderr]     |
[INFO] [stderr] 524 |             try!(write!(f, "{:016x}", *i));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> pairing/src/bls12_381/fr.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 69 |         try!(write!(f, "0x"));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> pairing/src/bls12_381/fr.rs:71:13
[INFO] [stderr]    |
[INFO] [stderr] 71 |             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]   --> pairing/src/lib.rs:98:29
[INFO] [stderr]    |
[INFO] [stderr] 98 |     fn final_exponentiation(&Self::Fqk) -> Option<Self::Fqk>;
[INFO] [stderr]    |                             ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Fqk`
[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: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> pairing/src/lib.rs:555:18
[INFO] [stderr]     |
[INFO] [stderr] 555 |     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] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> pairing/src/lib.rs:503:39
[INFO] [stderr]     |
[INFO] [stderr] 503 |             _ => write!(f, "{}", self.description()),
[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]    --> pairing/src/lib.rs:107:62
[INFO] [stderr]     |
[INFO] [stderr] 107 |             [(&(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] 107 |             [(&(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] 107 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stderr]     |             ++++++++++++++++++++++++                                                ~
[INFO] [stderr] 
[INFO] [stderr] warning: `pairing` (lib) generated 8 warnings (run `cargo fix --lib -p pairing` to apply 3 suggestions)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> bellman/src/multiexp.rs:148:10
[INFO] [stderr]     |
[INFO] [stderr] 148 | ) -> 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: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 148 | ) -> 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:242:10
[INFO] [stderr]     |
[INFO] [stderr] 242 | ) -> 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: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 242 | ) -> 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:215:34
[INFO] [stderr]     |
[INFO] [stderr] 215 |             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:64:11
[INFO] [stderr]    |
[INFO] [stderr] 64 |         ].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] 64 |         ].iter())
[INFO] [stderr]    |           ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 60 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stderr] 61 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stderr] 62 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stderr] 63 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stderr] 64 ~         ]))
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `bellman` (lib) generated 4 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/jubjub/fs.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |         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/jubjub/fs.rs:55:13
[INFO] [stderr]    |
[INFO] [stderr] 55 |             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:130:34
[INFO] [stderr]     |
[INFO] [stderr] 130 |     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: variable does not need to be mutable
[INFO] [stderr]    --> sapling-crypto/src/jubjub/mod.rs:354:17
[INFO] [stderr]     |
[INFO] [stderr] 354 |             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: 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 5 warnings (run `cargo fix --lib -p sapling-crypto` to apply 3 suggestions)
[INFO] [stderr] warning: function `read_fs` is never used
[INFO] [stderr]   --> zcash_proofs/src/sapling/prover.rs:21:4
[INFO] [stderr]    |
[INFO] [stderr] 21 | fn read_fs(from: &[u8]) -> FsRepr {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> zcash_proofs/src/sapling/prover.rs:170:9
[INFO] [stderr]     |
[INFO] [stderr] 170 |         ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 170 |         let _ = ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> zcash_primitives/src/transaction/components.rs:16:33
[INFO] [stderr]    |
[INFO] [stderr] 16 | const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stderr]    |                                 ^            ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 16 - const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stderr] 16 + const GROTH_PROOF_SIZE: usize = 48 + 96 + 48;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> zcash_primitives/src/transaction/components.rs:18:32
[INFO] [stderr]    |
[INFO] [stderr] 18 | const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stderr]    |                                ^                                     ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 18 - const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stderr] 18 + const PHGR_PROOF_SIZE: usize = 33 + 33 + 65 + 33 + 33 + 33 + 33 + 33;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> zcash_primitives/src/lib.rs:16:38
[INFO] [stderr]    |
[INFO] [stderr] 16 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr]    |                                      ^^                  ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 16 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 16 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> zcash_primitives/src/lib.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / lazy_static! {
[INFO] [stderr] 16 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 17 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> zcash_primitives/src/transaction/tests.rs:238:6
[INFO] [stderr]     |
[INFO] [stderr] 238 |     };
[INFO] [stderr]     |      ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> zcash_primitives/src/transaction/tests.rs:1943:6
[INFO] [stderr]      |
[INFO] [stderr] 1943 |     };
[INFO] [stderr]      |      ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: `zcash_proofs` (lib) generated 2 warnings
[INFO] [stderr] warning: `zcash_primitives` (lib) generated 4 warnings (run `cargo fix --lib -p zcash_primitives` to apply 3 suggestions)
[INFO] [stderr] warning: `zcash_primitives` (lib test) generated 6 warnings (4 duplicates)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> sapling-crypto/src/circuit/uint32.rs:429:17
[INFO] [stderr]     |
[INFO] [stderr] 429 |             let mut v = (0..32).map(|_| Boolean::constant(rng.gen())).collect::<Vec<_>>();
[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/circuit/uint32.rs:460:17
[INFO] [stderr]     |
[INFO] [stderr] 460 |             let mut v = (0..32).map(|_| Boolean::constant(rng.gen())).collect::<Vec<_>>();
[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/circuit/pedersen_hash.rs:154:21
[INFO] [stderr]     |
[INFO] [stderr] 154 |                 let mut input: Vec<bool> = (0..length).map(|_| rng.gen()).collect();
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `zcash_proofs` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: `sapling-crypto` (lib test) generated 8 warnings (5 duplicates) (run `cargo fix --lib -p sapling-crypto --tests` to apply 3 suggestions)
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> zip32/src/lib.rs:24:38
[INFO] [stderr]    |
[INFO] [stderr] 24 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr]    |                                      ^^                  ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 24 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 24 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> zip32/src/lib.rs:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | / lazy_static! {
[INFO] [stderr] 24 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 25 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> zip32/src/lib.rs:737:10
[INFO] [stderr]     |
[INFO] [stderr] 737 |         };
[INFO] [stderr]     |          ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> bellman/tests/mimc.rs:111:17
[INFO] [stderr]     |
[INFO] [stderr] 111 |             let mut tmp_value = xl_value.map(|mut e| {
[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]    --> bellman/tests/mimc.rs:116:17
[INFO] [stderr]     |
[INFO] [stderr] 116 |             let mut tmp = cs.alloc(|| "tmp", || {
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> bellman/tests/mimc.rs:130:17
[INFO] [stderr]     |
[INFO] [stderr] 130 |             let mut new_xl_value = xl_value.map(|mut e| {
[INFO] [stderr]     |                 ----^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> bellman/tests/mimc.rs:137:17
[INFO] [stderr]     |
[INFO] [stderr] 137 |             let mut new_xl = if i == (MIMC_ROUNDS-1) {
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `zip32` (lib) generated 2 warnings (run `cargo fix --lib -p zip32` to apply 1 suggestion)
[INFO] [stderr] warning: `zip32` (lib test) generated 3 warnings (2 duplicates)
[INFO] [stderr] warning: `bellman` (test "mimc") generated 4 warnings (run `cargo fix --test "mimc"` to apply 4 suggestions)
[INFO] [stderr] warning: `bellman` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: `pairing` (lib test) generated 8 warnings (8 duplicates)
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> librustzcash/src/tests/key_components.rs:30:6
[INFO] [stderr]    |
[INFO] [stderr] 30 |     };
[INFO] [stderr]    |      ^ help: remove this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> librustzcash/src/tests/notes.rs:22:6
[INFO] [stderr]    |
[INFO] [stderr] 22 |     };
[INFO] [stderr]    |      ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> librustzcash/src/tests/signatures.rs:20:6
[INFO] [stderr]    |
[INFO] [stderr] 20 |     };
[INFO] [stderr]    |      ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> librustzcash/src/tests/mod.rs:19:6
[INFO] [stderr]    |
[INFO] [stderr] 19 |     };
[INFO] [stderr]    |      ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> librustzcash/src/rustzcash.rs:80:38
[INFO] [stderr]    |
[INFO] [stderr] 80 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr]    |                                      ^^                  ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 80 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 80 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]     --> librustzcash/src/rustzcash.rs:1250:9
[INFO] [stderr]      |
[INFO] [stderr] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |         ^            ^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr] 1250 +     let party1_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]     --> librustzcash/src/rustzcash.rs:1250:25
[INFO] [stderr]      |
[INFO] [stderr] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |                         ^  ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr] 1250 +     let (party1_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]     --> librustzcash/src/rustzcash.rs:1253:9
[INFO] [stderr]      |
[INFO] [stderr] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |         ^             ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr] 1253 +     let _party2_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]     --> librustzcash/src/rustzcash.rs:1253:26
[INFO] [stderr]      |
[INFO] [stderr] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |                          ^  ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr] 1253 +     let (_party2_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sapling_crypto::jubjub::JubjubBls12 as jjbls12_l`
[INFO] [stderr]     --> librustzcash/src/rustzcash.rs:1564:5
[INFO] [stderr]      |
[INFO] [stderr] 1564 | use sapling_crypto::jubjub::JubjubBls12 as jjbls12_l;
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> librustzcash/src/rustzcash.rs:79:1
[INFO] [stderr]    |
[INFO] [stderr] 79 | / lazy_static! {
[INFO] [stderr] 80 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 81 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `librustzcash` (lib test) generated 11 warnings (run `cargo fix --lib -p librustzcash --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.10s
[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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bellman-b6c1a0aaa02f6610)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test multicore::test_log2_floor ... ok
[INFO] [stdout] test groth16::tests::test_xordemo ... ok
[INFO] [stdout] test domain::parallel_fft_consistency ... ok
[INFO] [stdout] test domain::fft_composition ... ok
[INFO] [stdout] test domain::polynomial_arith has been running for over 60 seconds
[INFO] [stdout] test groth16::test_with_bls12_381::serialization has been running for over 60 seconds
[INFO] [stdout] test multiexp::test_with_bls12 has been running for over 60 seconds
[INFO] [stdout] test groth16::test_with_bls12_381::serialization ... ok
[INFO] [stdout] test domain::polynomial_arith ... ok
[INFO] [stdout] test multiexp::test_with_bls12 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 214.57s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mimc.rs (/opt/rustwide/target/debug/deps/mimc-1347b6f351fe87c9)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_mimc ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 37.52s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/rustzcash.rs (/opt/rustwide/target/debug/deps/rustzcash-4557d2c36580527a)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_gen_r ... ok
[INFO] [stdout] test equihash::tests::equihash_test_cases ... ok
[INFO] [stdout] test tests::sapling_generators ... ok
[INFO] [stdout] test tests::key_agreement::test_key_agreement ... ok
[INFO] [stdout] test tests::notes::notes ... ok
[INFO] [stdout] test tests::signatures::redjubjub_signatures ... ok
[INFO] [stdout] test tests::key_components::key_components ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::key_components::key_components stdout ----
[INFO] [stdout] thread 'tests::key_components::key_components' panicked at librustzcash/src/rustzcash.rs:448:53:
[INFO] [stdout] Unable to save !: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5616ab91e416 - std::backtrace_rs::backtrace::libunwind::trace::hbee8a7973eeb6c93
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x5616ab91e416 - std::backtrace_rs::backtrace::trace_unsynchronized::hc8ac75eea3aa6899
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5616ab91e416 - std::sys_common::backtrace::_print_fmt::hc7f3e3b5298b1083
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x5616ab91e416 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbb235daedd7c6190
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5616ab947320 - core::fmt::rt::Argument::fmt::h76c38a80d925a410
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x5616ab947320 - core::fmt::write::h3ed6aeaa977c8e45
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x5616ab91be7f - std::io::Write::write_fmt::h1299aa7741865f2b
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/io/mod.rs:1810:15
[INFO] [stdout]    7:     0x5616ab91e1f4 - std::sys_common::backtrace::_print::h5d645a07e0fcfdbb
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5616ab91e1f4 - std::sys_common::backtrace::print::h85035a511aafe7a8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5616ab91ff67 - std::panicking::default_hook::{{closure}}::hcce8cea212785a25
[INFO] [stdout]   10:     0x5616ab91fc4d - std::panicking::default_hook::hf5fcb0f213fe709a
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x5616ab80e927 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h60265c2dfa87ee34
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x5616ab80e927 - test::test_main::{{closure}}::h77865bd3127078c6
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x5616ab920586 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hbc5ccf4eb663e1e5
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x5616ab920586 - std::panicking::rust_panic_with_hook::h095fccf1dc9379ee
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x5616ab9202d2 - std::panicking::begin_panic_handler::{{closure}}::h032ba12139b353db
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x5616ab91e916 - std::sys_common::backtrace::__rust_end_short_backtrace::h9259bc2ff8fd0f76
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x5616ab920030 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x5616ab7a3cd5 - core::panicking::panic_fmt::h784f20a50eaab275
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x5616ab7a4273 - core::result::unwrap_failed::h03d8a5018196e1cd
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
[INFO] [stdout]   20:     0x5616ab8685bf - core::result::Result<T,E>::expect::hd5e59040e74eee10
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1030:23
[INFO] [stdout]   21:     0x5616ab7c948c - librustzcash_ask_to_ak
[INFO] [stdout]                                at /opt/rustwide/workdir/librustzcash/src/rustzcash.rs:448:9
[INFO] [stdout]   22:     0x5616ab7d8a80 - rustzcash::tests::key_components::key_components::hac9e9b6bf0d8bafe
[INFO] [stdout]                                at /opt/rustwide/workdir/librustzcash/src/tests/key_components.rs:613:13
[INFO] [stdout]   23:     0x5616ab7d0e87 - rustzcash::tests::key_components::key_components::{{closure}}::hbfea52dd30c5416d
[INFO] [stdout]                                at /opt/rustwide/workdir/librustzcash/src/tests/key_components.rs:15:20
[INFO] [stdout]   24:     0x5616ab7af6d6 - core::ops::function::FnOnce::call_once::h042d5fa4d1169b21
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5616ab8141ff - core::ops::function::FnOnce::call_once::h8dc6907944022cf6
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5616ab8141ff - test::__rust_begin_short_backtrace::haae1a87433f1efb3
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:627:18
[INFO] [stdout]   27:     0x5616ab812f81 - test::run_test_in_process::{{closure}}::h8c7decfa7c14e152
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:60
[INFO] [stdout]   28:     0x5616ab812f81 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h19e6ff056d9d21e9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x5616ab812f81 - std::panicking::try::do_call::h89c848fcaa37c035
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stdout]   30:     0x5616ab812f81 - std::panicking::try::h57ab3dc74e2839b8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stdout]   31:     0x5616ab812f81 - std::panic::catch_unwind::hfb6a1b1abc120fb9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stdout]   32:     0x5616ab812f81 - test::run_test_in_process::h5ae2f9875edd562d
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:27
[INFO] [stdout]   33:     0x5616ab812f81 - test::run_test::{{closure}}::h35d7300d8928a067
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:573:43
[INFO] [stdout]   34:     0x5616ab7da2b6 - test::run_test::{{closure}}::h7525ced405d23d1b
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:601:41
[INFO] [stdout]   35:     0x5616ab7da2b6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h4e7db78ce05afad8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   36:     0x5616ab7df317 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hcfbcb64f1a1b3482
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   37:     0x5616ab7df317 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9d89c5c4108bd689
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x5616ab7df317 - std::panicking::try::do_call::h8a4869bc94ec50c9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stdout]   39:     0x5616ab7df317 - std::panicking::try::h9a576f20ff81ac30
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stdout]   40:     0x5616ab7df317 - std::panic::catch_unwind::hbcb4e3f860ef9830
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stdout]   41:     0x5616ab7df317 - std::thread::Builder::spawn_unchecked_::{{closure}}::h93c79a6be1505948
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   42:     0x5616ab7df317 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h426d96740c81bdaf
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5616ab925045 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h12de4fc57affb195
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x5616ab925045 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3c619f45059d5cf1
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   45:     0x5616ab925045 - std::sys::unix::thread::Thread::new::thread_start::hbac657605e4b7389
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7f3d24b67ac3 - <unknown>
[INFO] [stdout]   47:     0x7f3d24bf8bf4 - __clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::key_components::key_components
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.24s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p librustzcash --lib`
[INFO] running `Command { std: "docker" "inspect" "5d4db6c4bb55ddbe9b3c2356ae3edd64b9725b953cdf6285b012ed0a3f827d07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d4db6c4bb55ddbe9b3c2356ae3edd64b9725b953cdf6285b012ed0a3f827d07", kill_on_drop: false }`
[INFO] [stdout] 5d4db6c4bb55ddbe9b3c2356ae3edd64b9725b953cdf6285b012ed0a3f827d07
[INFO] testing ansonhwa/anson-librustzcash against beta-2024-02-10 for beta-1.77-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fansonhwa%2Fanson-librustzcash" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ansonhwa/anson-librustzcash on toolchain beta-2024-02-10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ansonhwa/anson-librustzcash
[INFO] finished tweaking git repo https://github.com/ansonhwa/anson-librustzcash
[INFO] tweaked toml for git repo https://github.com/ansonhwa/anson-librustzcash written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/ansonhwa/anson-librustzcash 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" "+beta-2024-02-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+beta-2024-02-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 26a440ee99e850c1bcb845312ea2fe74fccb35b055d0b0db3f1bece8a9c1215a
[INFO] running `Command { std: "docker" "start" "-a" "26a440ee99e850c1bcb845312ea2fe74fccb35b055d0b0db3f1bece8a9c1215a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "26a440ee99e850c1bcb845312ea2fe74fccb35b055d0b0db3f1bece8a9c1215a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "26a440ee99e850c1bcb845312ea2fe74fccb35b055d0b0db3f1bece8a9c1215a", kill_on_drop: false }`
[INFO] [stdout] 26a440ee99e850c1bcb845312ea2fe74fccb35b055d0b0db3f1bece8a9c1215a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2024-02-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7510936ea3b161e49749e76ff9b85a9a4d45d951a00265fe8bc8e678b06a5cde
[INFO] running `Command { std: "docker" "start" "-a" "7510936ea3b161e49749e76ff9b85a9a4d45d951a00265fe8bc8e678b06a5cde", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.40
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling byteorder v1.2.2
[INFO] [stderr]    Compiling futures v0.1.21
[INFO] [stderr]    Compiling proc-macro2 v0.4.14
[INFO] [stderr]    Compiling num-traits v0.2.5
[INFO] [stderr]    Compiling nodrop v0.1.12
[INFO] [stderr]    Compiling crossbeam v0.3.2
[INFO] [stderr]    Compiling bit-vec v0.4.4
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling arrayvec v0.4.7
[INFO] [stderr]    Compiling constant_time_eq v0.1.3
[INFO] [stderr]    Compiling rand v0.4.2
[INFO] [stderr]    Compiling num_cpus v1.8.0
[INFO] [stderr]    Compiling blake2-rfc v0.2.18 (https://github.com/gtank/blake2-rfc?rev=7a5b5fc99ae483a0043db7547fb79a6fa44b88a9#7a5b5fc9)
[INFO] [stderr]    Compiling serde v1.0.75
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling quote v0.6.8
[INFO] [stderr]    Compiling futures-cpupool v0.1.8
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]    Compiling pairing v0.14.2 (/opt/rustwide/workdir/pairing)
[INFO] [stderr]    Compiling generic-array v0.9.0
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 522 |         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]    --> pairing/src/bls12_381/fq.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             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]   --> pairing/src/lib.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn final_exponentiation(&Self::Fqk) -> Option<Self::Fqk>;
[INFO] [stdout]    |                             ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Fqk`
[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: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> pairing/src/lib.rs:555:18
[INFO] [stdout]     |
[INFO] [stdout] 555 |     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] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling opaque-debug v0.1.1
[INFO] [stderr]    Compiling ryu v0.2.6
[INFO] [stderr]    Compiling num-bigint v0.2.0
[INFO] [stderr]    Compiling digest v0.7.2
[INFO] [stderr]    Compiling block-cipher-trait v0.5.3
[INFO] [stderr]    Compiling byte-tools v0.2.0
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> pairing/src/lib.rs:503:39
[INFO] [stdout]     |
[INFO] [stdout] 503 |             _ => write!(f, "{}", self.description()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pairing v0.14.2 (https://github.com/omershlo/librustzcash.git?rev=3e667406323430813f6dbae2a60b5a83046fa20a#3e667406)
[INFO] [stderr]    Compiling aes-soft v0.2.0
[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:107:62
[INFO] [stdout]     |
[INFO] [stdout] 107 |             [(&(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] 107 |             [(&(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] 107 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stdout]     |             ++++++++++++++++++++++++                                                ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bellman v0.1.0 (/opt/rustwide/workdir/bellman)
[INFO] [stderr]    Compiling aes v0.2.0
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | ) -> 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] 148 | ) -> 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:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> 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] 242 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling lazy_static v1.0.0
[INFO] [stderr]    Compiling itoa v0.4.2
[INFO] [stderr]    Compiling zeroize v1.3.0
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> bellman/src/lib.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 |             write!(f, "{}", self.description())
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bellman v0.1.0 (https://github.com/omershlo/librustzcash.git?rev=3e667406323430813f6dbae2a60b5a83046fa20a#3e667406)
[INFO] [stderr]    Compiling zcash_wallet v0.0.0 (/opt/rustwide/workdir/zcash_wallet)
[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:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 |         ].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] 64 |         ].iter())
[INFO] [stdout]    |           ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 60 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stdout] 61 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stdout] 62 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stdout] 63 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stdout] 64 ~         ]))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sapling-crypto v0.0.1 (/opt/rustwide/workdir/sapling-crypto)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         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/jubjub/fs.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             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:130:34
[INFO] [stdout]     |
[INFO] [stdout] 130 |     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: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sapling-crypto v0.0.1 (https://github.com/omershlo/librustzcash.git?rev=3e667406323430813f6dbae2a60b5a83046fa20a#3e667406)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:354:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |             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] [stderr]    Compiling fpe v0.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.75
[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 zip32 v0.0.0 (/opt/rustwide/workdir/zip32)
[INFO] [stderr]    Compiling zcash_proofs v0.0.0 (/opt/rustwide/workdir/zcash_proofs)
[INFO] [stderr]    Compiling zcash_primitives v0.0.0 (/opt/rustwide/workdir/zcash_primitives)
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> zip32/src/lib.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 24 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 24 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zip32/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / lazy_static! {
[INFO] [stdout] 24 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 | const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout]    |                                 ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 - const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout] 16 + const GROTH_PROOF_SIZE: usize = 48 + 96 + 48;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout]    |                                ^                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 18 - const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout] 18 + const PHGR_PROOF_SIZE: usize = 33 + 33 + 65 + 33 + 33 + 33 + 33 + 33;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 16 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 16 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_fs` is never used
[INFO] [stdout]   --> zcash_proofs/src/sapling/prover.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn read_fs(from: &[u8]) -> FsRepr {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> zcash_proofs/src/sapling/prover.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let _ = ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-gmp v0.5.0 (https://github.com/ansonhwa/anson-rust-gmp#a428d31f)
[INFO] [stderr]    Compiling serde_json v1.0.26
[INFO] [stderr]    Compiling paradise-city v0.2.0 (https://github.com/ansonhwa/anson-paradise-city#468e7baa)
[INFO] [stderr]    Compiling librustzcash v0.1.0 (/opt/rustwide/workdir/librustzcash)
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> librustzcash/src/rustzcash.rs:80:38
[INFO] [stdout]    |
[INFO] [stdout] 80 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 80 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 80 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1250:9
[INFO] [stdout]      |
[INFO] [stdout] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |         ^            ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1250 +     let party1_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1250:25
[INFO] [stdout]      |
[INFO] [stdout] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |                         ^  ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1250 +     let (party1_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1253:9
[INFO] [stdout]      |
[INFO] [stdout] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |         ^             ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1253 +     let _party2_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1253:26
[INFO] [stdout]      |
[INFO] [stdout] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |                          ^  ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1253 +     let (_party2_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sapling_crypto::jubjub::JubjubBls12 as jjbls12_l`
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1564:5
[INFO] [stdout]      |
[INFO] [stdout] 1564 | use sapling_crypto::jubjub::JubjubBls12 as jjbls12_l;
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> librustzcash/src/rustzcash.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / lazy_static! {
[INFO] [stdout] 80 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 81 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: shared reference of mutable static is discouraged
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1028:18
[INFO] [stdout]      |
[INFO] [stdout] 1028 |         unsafe { &SPROUT_GROTH16_PARAMS_PATH }
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference of mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]      = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stdout]      = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]      = note: `#[warn(static_mut_ref)]` on by default
[INFO] [stdout] help: shared references are dangerous since if there's any kind of mutation of that static while the reference lives, that's UB; use `addr_of!` instead to create a raw pointer
[INFO] [stdout]      |
[INFO] [stdout] 1028 |         unsafe { addr_of!(SPROUT_GROTH16_PARAMS_PATH) }
[INFO] [stdout]      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 12.88s
[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" "7510936ea3b161e49749e76ff9b85a9a4d45d951a00265fe8bc8e678b06a5cde", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7510936ea3b161e49749e76ff9b85a9a4d45d951a00265fe8bc8e678b06a5cde", kill_on_drop: false }`
[INFO] [stdout] 7510936ea3b161e49749e76ff9b85a9a4d45d951a00265fe8bc8e678b06a5cde
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2024-02-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d01bea9fb25b91a615f9517e11e2c7fd2c9ca43e7cc51e1295bd46df0b6c597e
[INFO] running `Command { std: "docker" "start" "-a" "d01bea9fb25b91a615f9517e11e2c7fd2c9ca43e7cc51e1295bd46df0b6c597e", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 522 |         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]    --> pairing/src/bls12_381/fq.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             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]   --> pairing/src/lib.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn final_exponentiation(&Self::Fqk) -> Option<Self::Fqk>;
[INFO] [stdout]    |                             ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Fqk`
[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: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> pairing/src/lib.rs:555:18
[INFO] [stdout]     |
[INFO] [stdout] 555 |     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] 
[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:503:39
[INFO] [stdout]     |
[INFO] [stdout] 503 |             _ => write!(f, "{}", self.description()),
[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]    --> pairing/src/lib.rs:107:62
[INFO] [stdout]     |
[INFO] [stdout] 107 |             [(&(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] 107 |             [(&(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] 107 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stdout]     |             ++++++++++++++++++++++++                                                ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | ) -> 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] 148 | ) -> 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:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> 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] 242 | ) -> 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:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 |             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:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 |         ].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] 64 |         ].iter())
[INFO] [stdout]    |           ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 60 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stdout] 61 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stdout] 62 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stdout] 63 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stdout] 64 ~         ]))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> sapling-crypto/src/jubjub/fs.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         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/jubjub/fs.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             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:130:34
[INFO] [stdout]     |
[INFO] [stdout] 130 |     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: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:354:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |             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: 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: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_fs` is never used
[INFO] [stdout]   --> zcash_proofs/src/sapling/prover.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn read_fs(from: &[u8]) -> FsRepr {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> zcash_proofs/src/sapling/prover.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let _ = ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 | const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout]    |                                 ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 - const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout] 16 + const GROTH_PROOF_SIZE: usize = 48 + 96 + 48;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout]    |                                ^                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 18 - const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout] 18 + const PHGR_PROOF_SIZE: usize = 33 + 33 + 65 + 33 + 33 + 33 + 33 + 33;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 16 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 16 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling zcash_proofs v0.0.0 (/opt/rustwide/workdir/zcash_proofs)
[INFO] [stderr]    Compiling sapling-crypto v0.0.1 (/opt/rustwide/workdir/sapling-crypto)
[INFO] [stderr]    Compiling zcash_primitives v0.0.0 (/opt/rustwide/workdir/zcash_primitives)
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> zip32/src/lib.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 24 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 24 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zip32/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / lazy_static! {
[INFO] [stdout] 24 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling zip32 v0.0.0 (/opt/rustwide/workdir/zip32)
[INFO] [stderr]    Compiling bellman v0.1.0 (/opt/rustwide/workdir/bellman)
[INFO] [stderr]    Compiling librustzcash v0.1.0 (/opt/rustwide/workdir/librustzcash)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bellman/tests/mimc.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let mut tmp_value = xl_value.map(|mut e| {
[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]    --> bellman/tests/mimc.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut tmp = cs.alloc(|| "tmp", || {
[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]    --> bellman/tests/mimc.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |             let mut new_xl_value = xl_value.map(|mut e| {
[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]    --> bellman/tests/mimc.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |             let mut new_xl = if i == (MIMC_ROUNDS-1) {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> librustzcash/src/tests/key_components.rs:30:6
[INFO] [stdout]    |
[INFO] [stdout] 30 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> librustzcash/src/tests/notes.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> librustzcash/src/tests/signatures.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> librustzcash/src/tests/mod.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> librustzcash/src/rustzcash.rs:80:38
[INFO] [stdout]    |
[INFO] [stdout] 80 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 80 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 80 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1250:9
[INFO] [stdout]      |
[INFO] [stdout] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |         ^            ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1250 +     let party1_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1250:25
[INFO] [stdout]      |
[INFO] [stdout] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |                         ^  ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1250 +     let (party1_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1253:9
[INFO] [stdout]      |
[INFO] [stdout] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |         ^             ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1253 +     let _party2_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1253:26
[INFO] [stdout]      |
[INFO] [stdout] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |                          ^  ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stdout] 1253 +     let (_party2_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sapling_crypto::jubjub::JubjubBls12 as jjbls12_l`
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1564:5
[INFO] [stdout]      |
[INFO] [stdout] 1564 | use sapling_crypto::jubjub::JubjubBls12 as jjbls12_l;
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> zip32/src/lib.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 24 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 24 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> librustzcash/src/rustzcash.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / lazy_static! {
[INFO] [stdout] 80 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 81 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> zip32/src/lib.rs:737:10
[INFO] [stdout]     |
[INFO] [stdout] 737 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> bellman/src/multiexp.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | ) -> 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] 148 | ) -> 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:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | ) -> 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] 242 | ) -> Box<dyn Future<Item=<G as CurveAffine>::Projective, Error=SynthesisError>>
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zip32/src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / lazy_static! {
[INFO] [stdout] 24 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 | const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout]    |                                 ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 - const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stdout] 16 + const GROTH_PROOF_SIZE: usize = 48 + 96 + 48;
[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:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         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/jubjub/fs.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> zcash_primitives/src/transaction/components.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 | const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout]    |                                ^                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 18 - const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stdout] 18 + const PHGR_PROOF_SIZE: usize = 33 + 33 + 65 + 33 + 33 + 33 + 33 + 33;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> zcash_primitives/src/transaction/tests.rs:238:6
[INFO] [stdout]     |
[INFO] [stdout] 238 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> zcash_primitives/src/transaction/tests.rs:1943:6
[INFO] [stdout]      |
[INFO] [stdout] 1943 |     };
[INFO] [stdout]      |      ^ help: remove this semicolon
[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:130:34
[INFO] [stdout]     |
[INFO] [stdout] 130 |     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: unnecessary braces around block return value
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout]    |                                      ^^                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 16 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 16 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: shared reference of mutable static is discouraged
[INFO] [stdout]     --> librustzcash/src/rustzcash.rs:1028:18
[INFO] [stdout]      |
[INFO] [stdout] 1028 |         unsafe { &SPROUT_GROTH16_PARAMS_PATH }
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference of mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]      = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stdout]      = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]      = note: `#[warn(static_mut_ref)]` on by default
[INFO] [stdout] help: shared references are dangerous since if there's any kind of mutation of that static while the reference lives, that's UB; use `addr_of!` instead to create a raw pointer
[INFO] [stdout]      |
[INFO] [stdout] 1028 |         unsafe { addr_of!(SPROUT_GROTH16_PARAMS_PATH) }
[INFO] [stdout]      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> zcash_primitives/src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_fs` is never used
[INFO] [stdout]   --> zcash_proofs/src/sapling/prover.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn read_fs(from: &[u8]) -> FsRepr {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> zcash_proofs/src/sapling/prover.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let _ = ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[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:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 |             write!(f, "{}", self.description())
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pairing v0.14.2 (/opt/rustwide/workdir/pairing)
[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:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 |         ].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] 64 |         ].iter())
[INFO] [stdout]    |           ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 60 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stdout] 61 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stdout] 62 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stdout] 63 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stdout] 64 ~         ]))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> pairing/src/bls12_381/fq.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 522 |         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]    --> pairing/src/bls12_381/fq.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |             try!(write!(f, "{:016x}", *i));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         try!(write!(f, "0x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> pairing/src/bls12_381/fr.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             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]   --> pairing/src/lib.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn final_exponentiation(&Self::Fqk) -> Option<Self::Fqk>;
[INFO] [stdout]    |                             ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Fqk`
[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: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> pairing/src/lib.rs:555:18
[INFO] [stdout]     |
[INFO] [stdout] 555 |     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] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/jubjub/mod.rs:354:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |             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: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> pairing/src/lib.rs:503:39
[INFO] [stdout]     |
[INFO] [stdout] 503 |             _ => write!(f, "{}", self.description()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> sapling-crypto/src/circuit/uint32.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let mut v = (0..32).map(|_| Boolean::constant(rng.gen())).collect::<Vec<_>>();
[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/circuit/uint32.rs:460:17
[INFO] [stdout]     |
[INFO] [stdout] 460 |             let mut v = (0..32).map(|_| Boolean::constant(rng.gen())).collect::<Vec<_>>();
[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/circuit/pedersen_hash.rs:154:21
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 let mut input: Vec<bool> = (0..length).map(|_| rng.gen()).collect();
[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]    --> pairing/src/lib.rs:107:62
[INFO] [stdout]     |
[INFO] [stdout] 107 |             [(&(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] 107 |             [(&(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] 107 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stdout]     |             ++++++++++++++++++++++++                                                ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling zcash_wallet v0.0.0 (/opt/rustwide/workdir/zcash_wallet)
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> sapling-crypto/src/circuit/test/mod.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Constraint(usize),
[INFO] [stdout]    |     ---------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Constraint(()),
[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]   --> 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: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 9.99s
[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" "d01bea9fb25b91a615f9517e11e2c7fd2c9ca43e7cc51e1295bd46df0b6c597e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d01bea9fb25b91a615f9517e11e2c7fd2c9ca43e7cc51e1295bd46df0b6c597e", kill_on_drop: false }`
[INFO] [stdout] d01bea9fb25b91a615f9517e11e2c7fd2c9ca43e7cc51e1295bd46df0b6c597e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2024-02-10" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2420925ee3028f1ed08b5c407e851919f2f1b7968c69d3ce2fd38411f3758b1d
[INFO] running `Command { std: "docker" "start" "-a" "2420925ee3028f1ed08b5c407e851919f2f1b7968c69d3ce2fd38411f3758b1d", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> pairing/src/bls12_381/fq.rs:522:9
[INFO] [stderr]     |
[INFO] [stderr] 522 |         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]    --> pairing/src/bls12_381/fq.rs:524:13
[INFO] [stderr]     |
[INFO] [stderr] 524 |             try!(write!(f, "{:016x}", *i));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> pairing/src/bls12_381/fr.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 69 |         try!(write!(f, "0x"));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> pairing/src/bls12_381/fr.rs:71:13
[INFO] [stderr]    |
[INFO] [stderr] 71 |             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]   --> pairing/src/lib.rs:98:29
[INFO] [stderr]    |
[INFO] [stderr] 98 |     fn final_exponentiation(&Self::Fqk) -> Option<Self::Fqk>;
[INFO] [stderr]    |                             ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Fqk`
[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: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> pairing/src/lib.rs:555:18
[INFO] [stderr]     |
[INFO] [stderr] 555 |     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] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> pairing/src/lib.rs:503:39
[INFO] [stderr]     |
[INFO] [stderr] 503 |             _ => write!(f, "{}", self.description()),
[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]    --> pairing/src/lib.rs:107:62
[INFO] [stderr]     |
[INFO] [stderr] 107 |             [(&(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] 107 |             [(&(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] 107 |             IntoIterator::into_iter([(&(p.into().prepare()), &(q.into().prepare()))]),
[INFO] [stderr]     |             ++++++++++++++++++++++++                                                ~
[INFO] [stderr] 
[INFO] [stderr] warning: `pairing` (lib) generated 8 warnings (run `cargo fix --lib -p pairing` to apply 3 suggestions)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> bellman/src/multiexp.rs:148:10
[INFO] [stderr]     |
[INFO] [stderr] 148 | ) -> 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: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 148 | ) -> 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:242:10
[INFO] [stderr]     |
[INFO] [stderr] 242 | ) -> 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: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 242 | ) -> 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:215:34
[INFO] [stderr]     |
[INFO] [stderr] 215 |             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:64:11
[INFO] [stderr]    |
[INFO] [stderr] 64 |         ].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] 64 |         ].iter())
[INFO] [stderr]    |           ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 60 ~         &E::miller_loop(IntoIterator::into_iter([
[INFO] [stderr] 61 |             (&proof.a.prepare(), &proof.b.prepare()),
[INFO] [stderr] 62 |             (&acc.into_affine().prepare(), &pvk.neg_gamma_g2),
[INFO] [stderr] 63 |             (&proof.c.prepare(), &pvk.neg_delta_g2)
[INFO] [stderr] 64 ~         ]))
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `bellman` (lib) generated 4 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/jubjub/fs.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |         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/jubjub/fs.rs:55:13
[INFO] [stderr]    |
[INFO] [stderr] 55 |             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:130:34
[INFO] [stderr]     |
[INFO] [stderr] 130 |     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: variable does not need to be mutable
[INFO] [stderr]    --> sapling-crypto/src/jubjub/mod.rs:354:17
[INFO] [stderr]     |
[INFO] [stderr] 354 |             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: 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 5 warnings (run `cargo fix --lib -p sapling-crypto` to apply 3 suggestions)
[INFO] [stderr] warning: function `read_fs` is never used
[INFO] [stderr]   --> zcash_proofs/src/sapling/prover.rs:21:4
[INFO] [stderr]    |
[INFO] [stderr] 21 | fn read_fs(from: &[u8]) -> FsRepr {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> zcash_proofs/src/sapling/prover.rs:170:9
[INFO] [stderr]     |
[INFO] [stderr] 170 |         ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 170 |         let _ = ar.clone().into_repr().write_le(&mut ar_vec[0..32]);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> zcash_primitives/src/transaction/components.rs:16:33
[INFO] [stderr]    |
[INFO] [stderr] 16 | const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stderr]    |                                 ^            ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 16 - const GROTH_PROOF_SIZE: usize = (48 + 96 + 48);
[INFO] [stderr] 16 + const GROTH_PROOF_SIZE: usize = 48 + 96 + 48;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> zcash_primitives/src/transaction/components.rs:18:32
[INFO] [stderr]    |
[INFO] [stderr] 18 | const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stderr]    |                                ^                                     ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 18 - const PHGR_PROOF_SIZE: usize = (33 + 33 + 65 + 33 + 33 + 33 + 33 + 33);
[INFO] [stderr] 18 + const PHGR_PROOF_SIZE: usize = 33 + 33 + 65 + 33 + 33 + 33 + 33 + 33;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> zcash_primitives/src/lib.rs:16:38
[INFO] [stderr]    |
[INFO] [stderr] 16 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr]    |                                      ^^                  ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 16 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 16 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> zcash_primitives/src/lib.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / lazy_static! {
[INFO] [stderr] 16 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 17 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> zcash_primitives/src/transaction/tests.rs:238:6
[INFO] [stderr]     |
[INFO] [stderr] 238 |     };
[INFO] [stderr]     |      ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> zcash_primitives/src/transaction/tests.rs:1943:6
[INFO] [stderr]      |
[INFO] [stderr] 1943 |     };
[INFO] [stderr]      |      ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: `zcash_proofs` (lib) generated 2 warnings
[INFO] [stderr] warning: `zcash_primitives` (lib) generated 4 warnings (run `cargo fix --lib -p zcash_primitives` to apply 3 suggestions)
[INFO] [stderr] warning: `zcash_primitives` (lib test) generated 6 warnings (4 duplicates)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> sapling-crypto/src/circuit/uint32.rs:429:17
[INFO] [stderr]     |
[INFO] [stderr] 429 |             let mut v = (0..32).map(|_| Boolean::constant(rng.gen())).collect::<Vec<_>>();
[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/circuit/uint32.rs:460:17
[INFO] [stderr]     |
[INFO] [stderr] 460 |             let mut v = (0..32).map(|_| Boolean::constant(rng.gen())).collect::<Vec<_>>();
[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/circuit/pedersen_hash.rs:154:21
[INFO] [stderr]     |
[INFO] [stderr] 154 |                 let mut input: Vec<bool> = (0..length).map(|_| rng.gen()).collect();
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> sapling-crypto/src/circuit/test/mod.rs:27:16
[INFO] [stderr]    |
[INFO] [stderr] 27 |     Constraint(usize),
[INFO] [stderr]    |     ---------- ^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 27 |     Constraint(()),
[INFO] [stderr]    |                ~~
[INFO] [stderr] 
[INFO] [stderr] warning: `zcash_proofs` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: `sapling-crypto` (lib test) generated 9 warnings (5 duplicates) (run `cargo fix --lib -p sapling-crypto --tests` to apply 3 suggestions)
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> zip32/src/lib.rs:24:38
[INFO] [stderr]    |
[INFO] [stderr] 24 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr]    |                                      ^^                  ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 24 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 24 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> zip32/src/lib.rs:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | / lazy_static! {
[INFO] [stderr] 24 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 25 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> zip32/src/lib.rs:737:10
[INFO] [stderr]     |
[INFO] [stderr] 737 |         };
[INFO] [stderr]     |          ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> bellman/tests/mimc.rs:111:17
[INFO] [stderr]     |
[INFO] [stderr] 111 |             let mut tmp_value = xl_value.map(|mut e| {
[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]    --> bellman/tests/mimc.rs:116:17
[INFO] [stderr]     |
[INFO] [stderr] 116 |             let mut tmp = cs.alloc(|| "tmp", || {
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> bellman/tests/mimc.rs:130:17
[INFO] [stderr]     |
[INFO] [stderr] 130 |             let mut new_xl_value = xl_value.map(|mut e| {
[INFO] [stderr]     |                 ----^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> bellman/tests/mimc.rs:137:17
[INFO] [stderr]     |
[INFO] [stderr] 137 |             let mut new_xl = if i == (MIMC_ROUNDS-1) {
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `zip32` (lib) generated 2 warnings (run `cargo fix --lib -p zip32` to apply 1 suggestion)
[INFO] [stderr] warning: `zip32` (lib test) generated 3 warnings (2 duplicates)
[INFO] [stderr] warning: `bellman` (test "mimc") generated 4 warnings (run `cargo fix --test "mimc"` to apply 4 suggestions)
[INFO] [stderr] warning: `bellman` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: `pairing` (lib test) generated 8 warnings (8 duplicates)
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> librustzcash/src/tests/key_components.rs:30:6
[INFO] [stderr]    |
[INFO] [stderr] 30 |     };
[INFO] [stderr]    |      ^ help: remove this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> librustzcash/src/tests/notes.rs:22:6
[INFO] [stderr]    |
[INFO] [stderr] 22 |     };
[INFO] [stderr]    |      ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> librustzcash/src/tests/signatures.rs:20:6
[INFO] [stderr]    |
[INFO] [stderr] 20 |     };
[INFO] [stderr]    |      ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> librustzcash/src/tests/mod.rs:19:6
[INFO] [stderr]    |
[INFO] [stderr] 19 |     };
[INFO] [stderr]    |      ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> librustzcash/src/rustzcash.rs:80:38
[INFO] [stderr]    |
[INFO] [stderr] 80 |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr]    |                                      ^^                  ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 80 -     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 80 +     static ref JUBJUB: JubjubBls12 = JubjubBls12::new();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]     --> librustzcash/src/rustzcash.rs:1250:9
[INFO] [stderr]      |
[INFO] [stderr] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |         ^            ^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr] 1250 +     let party1_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]     --> librustzcash/src/rustzcash.rs:1250:25
[INFO] [stderr]      |
[INFO] [stderr] 1250 |     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |                         ^  ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 1250 -     let (party1_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr] 1250 +     let (party1_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]     --> librustzcash/src/rustzcash.rs:1253:9
[INFO] [stderr]      |
[INFO] [stderr] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |         ^             ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr] 1253 +     let _party2_alpha: (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]     --> librustzcash/src/rustzcash.rs:1253:26
[INFO] [stderr]      |
[INFO] [stderr] 1253 |     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |                          ^  ^
[INFO] [stderr]      |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 1253 -     let (_party2_alpha): (FE) = serde_json::from_str(&data).unwrap();
[INFO] [stderr] 1253 +     let (_party2_alpha): FE = serde_json::from_str(&data).unwrap();
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sapling_crypto::jubjub::JubjubBls12 as jjbls12_l`
[INFO] [stderr]     --> librustzcash/src/rustzcash.rs:1564:5
[INFO] [stderr]      |
[INFO] [stderr] 1564 | use sapling_crypto::jubjub::JubjubBls12 as jjbls12_l;
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> librustzcash/src/rustzcash.rs:79:1
[INFO] [stderr]    |
[INFO] [stderr] 79 | / lazy_static! {
[INFO] [stderr] 80 | |     static ref JUBJUB: JubjubBls12 = { JubjubBls12::new() };
[INFO] [stderr] 81 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: shared reference of mutable static is discouraged
[INFO] [stderr]     --> librustzcash/src/rustzcash.rs:1028:18
[INFO] [stderr]      |
[INFO] [stderr] 1028 |         unsafe { &SPROUT_GROTH16_PARAMS_PATH }
[INFO] [stderr]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference of mutable static
[INFO] [stderr]      |
[INFO] [stderr]      = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stderr]      = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stderr]      = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stderr]      = note: `#[warn(static_mut_ref)]` on by default
[INFO] [stderr] help: shared references are dangerous since if there's any kind of mutation of that static while the reference lives, that's UB; use `addr_of!` instead to create a raw pointer
[INFO] [stderr]      |
[INFO] [stderr] 1028 |         unsafe { addr_of!(SPROUT_GROTH16_PARAMS_PATH) }
[INFO] [stderr]      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: `librustzcash` (lib test) generated 12 warnings (run `cargo fix --lib -p librustzcash --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.16s
[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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bellman-2cbccda1a823176c)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test multicore::test_log2_floor ... ok
[INFO] [stdout] test domain::parallel_fft_consistency ... ok
[INFO] [stdout] test groth16::tests::test_xordemo ... ok
[INFO] [stdout] test domain::fft_composition ... ok
[INFO] [stdout] test groth16::test_with_bls12_381::serialization ... ok
[INFO] [stdout] test domain::polynomial_arith has been running for over 60 seconds
[INFO] [stdout] test multiexp::test_with_bls12 has been running for over 60 seconds
[INFO] [stdout] test domain::polynomial_arith ... ok
[INFO] [stdout] test multiexp::test_with_bls12 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 147.23s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mimc.rs (/opt/rustwide/target/debug/deps/mimc-cbe2f5bb808d6b48)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_mimc ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 38.56s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/rustzcash.rs (/opt/rustwide/target/debug/deps/rustzcash-0199ed099c2d09c9)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_gen_r ... ok
[INFO] [stdout] test equihash::tests::equihash_test_cases ... ok
[INFO] [stdout] test tests::sapling_generators ... ok
[INFO] [stdout] test tests::key_agreement::test_key_agreement ... ok
[INFO] [stdout] test tests::signatures::redjubjub_signatures ... ok
[INFO] [stdout] test tests::notes::notes ... ok
[INFO] [stdout] test tests::key_components::key_components ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::key_components::key_components stdout ----
[INFO] [stdout] thread 'tests::key_components::key_components' panicked at librustzcash/src/rustzcash.rs:448:53:
[INFO] [stdout] Unable to save !: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619a7690d26 - std::backtrace_rs::backtrace::libunwind::trace::h140b6deb6a45c671
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x5619a7690d26 - std::backtrace_rs::backtrace::trace_unsynchronized::h8450d7e4e9219aed
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5619a7690d26 - std::sys_common::backtrace::_print_fmt::hbd28e5e6c6fc3a3f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x5619a7690d26 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hb058f285768cf98e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5619a76b9a60 - core::fmt::rt::Argument::fmt::h87dec7a95127da24
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x5619a76b9a60 - core::fmt::write::h873f89a91a4832db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x5619a768e57f - std::io::Write::write_fmt::h90f651e9e694a4bb
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/io/mod.rs:1846:15
[INFO] [stdout]    7:     0x5619a7690b04 - std::sys_common::backtrace::_print::h7719d1529d9a9e13
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5619a7690b04 - std::sys_common::backtrace::print::haa3afbd0e7947108
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5619a7692877 - std::panicking::default_hook::{{closure}}::h10e3de2ec0eaff22
[INFO] [stdout]   10:     0x5619a769255d - std::panicking::default_hook::hbdc1b1b7fe073dab
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x5619a757a147 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h20f7887d7cd0a330
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x5619a757a147 - test::test_main::{{closure}}::hc125a615957b5cb1
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x5619a7692e96 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c19e0590f8443c4
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x5619a7692e96 - std::panicking::rust_panic_with_hook::hb81692602460473d
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:785:13
[INFO] [stdout]   15:     0x5619a7692be2 - std::panicking::begin_panic_handler::{{closure}}::h2470593aa2678e9c
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:659:13
[INFO] [stdout]   16:     0x5619a7691226 - std::sys_common::backtrace::__rust_end_short_backtrace::h560bb50225b0562b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x5619a7692934 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:647:5
[INFO] [stdout]   18:     0x5619a750d775 - core::panicking::panic_fmt::h29b6f262f6458dc3
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x5619a750dd13 - core::result::unwrap_failed::h12bc80647957bcdb
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/result.rs:1649:5
[INFO] [stdout]   20:     0x5619a75cb79f - core::result::Result<T,E>::expect::h40d6ac04b2de8729
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/result.rs:1030:23
[INFO] [stdout]   21:     0x5619a7520ec1 - librustzcash_ask_to_ak
[INFO] [stdout]                                at /opt/rustwide/workdir/librustzcash/src/rustzcash.rs:448:9
[INFO] [stdout]   22:     0x5619a751c68c - rustzcash::tests::key_components::key_components::hbd2346310b26dbc7
[INFO] [stdout]                                at /opt/rustwide/workdir/librustzcash/src/tests/key_components.rs:613:13
[INFO] [stdout]   23:     0x5619a7514717 - rustzcash::tests::key_components::key_components::{{closure}}::h87b4d682f8ab313f
[INFO] [stdout]                                at /opt/rustwide/workdir/librustzcash/src/tests/key_components.rs:15:20
[INFO] [stdout]   24:     0x5619a7526c76 - core::ops::function::FnOnce::call_once::h0d69ec30e90ce5a6
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5619a757fd3f - core::ops::function::FnOnce::call_once::h692fe6f34484199f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5619a757fd3f - test::__rust_begin_short_backtrace::h48b62e76bd60e2de
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:621:18
[INFO] [stdout]   27:     0x5619a757eb61 - test::run_test_in_process::{{closure}}::h1c68597526ef43db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:60
[INFO] [stdout]   28:     0x5619a757eb61 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hcae98092997f976b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x5619a757eb61 - std::panicking::try::do_call::h8d1548c2f5bb535a
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stdout]   30:     0x5619a757eb61 - std::panicking::try::hbb7a2054f484688e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stdout]   31:     0x5619a757eb61 - std::panic::catch_unwind::h696d12d9d80497c2
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stdout]   32:     0x5619a757eb61 - test::run_test_in_process::h053367a7217c825b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:27
[INFO] [stdout]   33:     0x5619a757eb61 - test::run_test::{{closure}}::hfa524e9fabcba78e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:567:43
[INFO] [stdout]   34:     0x5619a7545fc6 - test::run_test::{{closure}}::h2c4d0bb741ef7f9f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:595:41
[INFO] [stdout]   35:     0x5619a7545fc6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0d2c708415550075
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   36:     0x5619a754af87 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h76e2635840d7293f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   37:     0x5619a754af87 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::haa640b67a810a214
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x5619a754af87 - std::panicking::try::do_call::h41892e3bc2807ab5
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stdout]   39:     0x5619a754af87 - std::panicking::try::h861a16d180681c80
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stdout]   40:     0x5619a754af87 - std::panic::catch_unwind::h8195f9064b1509fa
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stdout]   41:     0x5619a754af87 - std::thread::Builder::spawn_unchecked_::{{closure}}::h73cc419da1217371
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   42:     0x5619a754af87 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h79dc6499ff073b09
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5619a7697245 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha718e8cdc51a5182
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x5619a7697245 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h86072abc877c5474
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   45:     0x5619a7697245 - std::sys::pal::unix::thread::Thread::new::thread_start::hac4056197c365894
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7f7493c67ac3 - <unknown>
[INFO] [stdout]   47:     0x7f7493cf8bf4 - __clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::key_components::key_components
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.31s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p librustzcash --lib`
[INFO] running `Command { std: "docker" "inspect" "2420925ee3028f1ed08b5c407e851919f2f1b7968c69d3ce2fd38411f3758b1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2420925ee3028f1ed08b5c407e851919f2f1b7968c69d3ce2fd38411f3758b1d", kill_on_drop: false }`
[INFO] [stdout] 2420925ee3028f1ed08b5c407e851919f2f1b7968c69d3ce2fd38411f3758b1d
