[INFO] cloning repository https://github.com/wu-s-john/PLONK
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wu-s-john/PLONK" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwu-s-john%2FPLONK", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwu-s-john%2FPLONK'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a053983b1b6126b32ddfe0005b9e203498fa5cdb
[INFO] checking wu-s-john/PLONK against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwu-s-john%2FPLONK" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wu-s-john/PLONK
[INFO] finished tweaking git repo https://github.com/wu-s-john/PLONK
[INFO] tweaked toml for git repo https://github.com/wu-s-john/PLONK written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wu-s-john/PLONK on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wu-s-john/PLONK 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" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3ebd7bf584ac533247f7a9fc3a81e2174b73996d1659a5921853f50acdeeb014
[INFO] running `Command { std: "docker" "start" "3ebd7bf584ac533247f7a9fc3a81e2174b73996d1659a5921853f50acdeeb014", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3ebd7bf584ac533247f7a9fc3a81e2174b73996d1659a5921853f50acdeeb014", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3ebd7bf584ac533247f7a9fc3a81e2174b73996d1659a5921853f50acdeeb014" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3ebd7bf584ac533247f7a9fc3a81e2174b73996d1659a5921853f50acdeeb014", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3ebd7bf584ac533247f7a9fc3a81e2174b73996d1659a5921853f50acdeeb014" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling libc v0.2.170
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]     Checking once_cell v1.20.3
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]     Checking either v1.14.0
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling term v1.0.1
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling log v0.4.26
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]     Checking tracing-subscriber v0.2.25
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling ena v0.14.3
[INFO] [stderr]    Compiling quote v1.0.39
[INFO] [stderr]    Compiling ascii-canvas v4.0.0
[INFO] [stderr]    Compiling indexmap v2.7.1
[INFO] [stderr]    Compiling syn v2.0.99
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling pico-args v0.5.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling string_cache v0.8.8
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling lalrpop-util v0.22.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling lalrpop v0.22.1
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling ark-ff-asm v0.3.0
[INFO] [stderr]    Compiling ark-ff-macros v0.3.0
[INFO] [stderr]    Compiling ark-serialize-derive v0.4.2
[INFO] [stderr]    Compiling ark-ff-macros v0.4.2
[INFO] [stderr]    Compiling ark-ff-asm v0.4.2
[INFO] [stderr]    Compiling logos-derive v0.12.1
[INFO] [stderr]     Checking logos v0.12.1
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling pest v2.7.15
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking ark-std v0.3.0
[INFO] [stderr]     Checking ark-std v0.4.0
[INFO] [stderr]     Checking ark-serialize v0.4.2
[INFO] [stderr]     Checking ark-serialize v0.3.0
[INFO] [stderr]     Checking ark-ff v0.4.2
[INFO] [stderr]    Compiling semver-parser v0.10.3
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]    Compiling rustc_version v0.3.3
[INFO] [stderr]    Compiling ark-ff v0.3.0
[INFO] [stderr]    Compiling plonk v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking ark-poly v0.4.2
[INFO] [stderr]     Checking ark-ec v0.4.2
[INFO] [stderr]     Checking ark-ec v0.3.0
[INFO] [stderr]     Checking ark-relations v0.3.0
[INFO] [stderr]     Checking arkworks-utils v1.0.1
[INFO] [stderr]     Checking ark-r1cs-std v0.3.1
[INFO] [stderr]     Checking ark-bn254 v0.4.0
[INFO] [stderr]     Checking ark-nonnative-field v0.3.0
[INFO] [stderr]     Checking ark-sponge v0.3.0
[INFO] [stdout] warning: unused import: `univariate::DensePolynomial`
[INFO] [stdout]  --> src/execution_trace_polynomial.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     univariate::DensePolynomial, DenseUVPolynomial, EvaluationDomain, Radix2EvaluationDomain
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]  --> src/polynomial_constraints_direct.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ark_ff::{FftField, Field};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]  --> src/polynomial_constraints_fft.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ark_ff::{FftField, Field};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `allow` attribute cannot be used on macro calls
[INFO] [stdout]   --> src/language_frontend/mod.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[allow(clippy::all)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `allow` attribute can be applied to associated consts, associated types, break expressions, const parameters, constants, crates, data types, enum variants, extern crates, for loops, foreign modules, foreign statics, function params, functions, global asms, impl blocks, lifetime parameters, loops, macro defs, match arms, modules, pattern fields, statics, struct fields, trait aliases, traits, type aliases, type parameters, use statements, and while loops
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: placing this attribute on a macro invocation does nothing even if the macro expands to what would be a valid target for the attribute
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/plonk/b9ed447044181d37/out/language_frontend/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> src/kzg/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]  --> src/kzg/mod.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ark_ff::{Field, Zero};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Polynomial` and `univariate::DensePolynomial`
[INFO] [stdout]  --> src/kzg/mod.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ark_poly::{univariate::DensePolynomial, Polynomial, DenseUVPolynomial};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `univariate::DensePolynomial`
[INFO] [stdout]  --> src/execution_trace_polynomial.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     univariate::DensePolynomial, DenseUVPolynomial, EvaluationDomain, Radix2EvaluationDomain
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]  --> src/polynomial_constraints_direct.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ark_ff::{FftField, Field};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]  --> src/polynomial_constraints_fft.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ark_ff::{FftField, Field};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `allow` attribute cannot be used on macro calls
[INFO] [stdout]   --> src/language_frontend/mod.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[allow(clippy::all)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `allow` attribute can be applied to associated consts, associated types, break expressions, const parameters, constants, crates, data types, enum variants, extern crates, for loops, foreign modules, foreign statics, function params, functions, global asms, impl blocks, lifetime parameters, loops, macro defs, match arms, modules, pattern fields, statics, struct fields, trait aliases, traits, type aliases, type parameters, use statements, and while loops
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: placing this attribute on a macro invocation does nothing even if the macro expands to what would be a valid target for the attribute
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/plonk/b9ed447044181d37/out/language_frontend/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> src/kzg/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]  --> src/kzg/mod.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ark_ff::{Field, Zero};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Polynomial` and `univariate::DensePolynomial`
[INFO] [stdout]  --> src/kzg/mod.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ark_poly::{univariate::DensePolynomial, Polynomial, DenseUVPolynomial};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/execution_trace.rs:561:19
[INFO] [stdout]     |
[INFO] [stdout] 561 |     for (row_idx, row) in gate_operations.iter().enumerate() {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/execution_trace.rs:561:19
[INFO] [stdout]     |
[INFO] [stdout] 561 |     for (row_idx, row) in gate_operations.iter().enumerate() {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coset_domain`
[INFO] [stdout]    --> src/execution_trace_polynomial.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     coset_domain: &Radix2EvaluationDomain<F>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coset_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_size`
[INFO] [stdout]   --> src/polynomial_constraints_fft.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let domain_size = domain.size();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coset_domain`
[INFO] [stdout]    --> src/execution_trace_polynomial.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     coset_domain: &Radix2EvaluationDomain<F>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coset_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/language_frontend/type_checker.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 |         Expr::Bool(b) => Ok((HashMap::new(), Type::Bool)),
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_size`
[INFO] [stdout]   --> src/polynomial_constraints_fft.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let domain_size = domain.size();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `InlineEnv` is more private than the item `expr_to_plonk`
[INFO] [stdout]    --> src/ast_to_plonk.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub fn expr_to_plonk(expr: &Expr, _env: &InlineEnv) -> PlonkNode<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `expr_to_plonk` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `InlineEnv` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ast_to_plonk.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | struct InlineEnv {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PairingOp<G1, G2>` is more private than the item `BatchKZGVerifier`
[INFO] [stdout]   --> src/kzg/verifier.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ struct `BatchKZGVerifier` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PairingOp<G1, G2>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/kzg/verifier.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | trait PairingOp<G1, G2> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PairingOp<G1, G2>` is more private than the item `BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>`
[INFO] [stdout]   --> src/kzg/verifier.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | / impl<F, P, G1Proj, G2Proj, G1, G2, E> BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>
[INFO] [stdout] 36 | | where
[INFO] [stdout] 37 | |     F: Field,
[INFO] [stdout] 38 | |     P: Polynomial<F>,
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |     E: PairingOp<G1, G2>,
[INFO] [stdout] 44 | |     E::Output: Eq + One,
[INFO] [stdout]    | |________________________^ implementation `BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PairingOp<G1, G2>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/kzg/verifier.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | trait PairingOp<G1, G2> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated type `PairingOp::Output` is more private than the item `BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>`
[INFO] [stdout]   --> src/kzg/verifier.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | / impl<F, P, G1Proj, G2Proj, G1, G2, E> BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>
[INFO] [stdout] 36 | | where
[INFO] [stdout] 37 | |     F: Field,
[INFO] [stdout] 38 | |     P: Polynomial<F>,
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |     E: PairingOp<G1, G2>,
[INFO] [stdout] 44 | |     E::Output: Eq + One,
[INFO] [stdout]    | |________________________^ implementation `BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but associated type `PairingOp::Output` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/kzg/verifier.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     type Output;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_eval_value_to_field` is never used
[INFO] [stdout]    --> src/plonk_circuit.rs:410:4
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn map_eval_value_to_field<F: Field>(val: &EvalValue) -> F {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_plonk_node_value_to_field` is never used
[INFO] [stdout]    --> src/plonk_circuit.rs:424:4
[INFO] [stdout]     |
[INFO] [stdout] 424 | fn map_plonk_node_value_to_field<F: Field>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/plonk_circuit.rs:696:4
[INFO] [stdout]     |
[INFO] [stdout] 696 | fn main() {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `G1`
[INFO] [stdout]    --> src/kzg/verifier.rs:212:35
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 212 -         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout] 212 +         let pairing1 = E::pairing(left_g1, g2.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 212 -         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout] 212 +         let pairing1 = E::pairing(<G1 as Into<_>>::into(left_g1), g2.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `G2`
[INFO] [stdout]    --> src/kzg/verifier.rs:212:51
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout]     |                                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 212 -         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout] 212 +         let pairing1 = E::pairing(left_g1.into(), g2);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 212 -         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout] 212 +         let pairing1 = E::pairing(left_g1.into(), <G2 as Into<_>>::into(g2));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `G1`
[INFO] [stdout]    --> src/kzg/verifier.rs:213:35
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 213 -         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout] 213 +         let pairing2 = E::pairing(right_g1, g2_s_minus_z.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 213 -         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout] 213 +         let pairing2 = E::pairing(<G1 as Into<_>>::into(right_g1), g2_s_minus_z.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `G2`
[INFO] [stdout]    --> src/kzg/verifier.rs:213:52
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 213 -         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout] 213 +         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 213 -         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout] 213 +         let pairing2 = E::pairing(right_g1.into(), <G2 as Into<_>>::into(g2_s_minus_z));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/language_frontend/type_checker.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 |         Expr::Bool(b) => Ok((HashMap::new(), Type::Bool)),
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]   --> src/language_frontend/mod.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let typ = type_check(&ast)
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_typ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]   --> src/language_frontend/mod.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let ast = parser::ExprParser::new()
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]    --> src/language_frontend/mod.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let ast = parser::ExprParser::new()
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]    --> src/language_frontend/mod.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let ast = parser::ExprParser::new()
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `plonk` (lib) due to 4 previous errors; 19 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: type `InlineEnv` is more private than the item `expr_to_plonk`
[INFO] [stdout]    --> src/ast_to_plonk.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub fn expr_to_plonk(expr: &Expr, _env: &InlineEnv) -> PlonkNode<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `expr_to_plonk` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `InlineEnv` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ast_to_plonk.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | struct InlineEnv {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PairingOp<G1, G2>` is more private than the item `BatchKZGVerifier`
[INFO] [stdout]   --> src/kzg/verifier.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ struct `BatchKZGVerifier` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PairingOp<G1, G2>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/kzg/verifier.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | trait PairingOp<G1, G2> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PairingOp<G1, G2>` is more private than the item `BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>`
[INFO] [stdout]   --> src/kzg/verifier.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | / impl<F, P, G1Proj, G2Proj, G1, G2, E> BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>
[INFO] [stdout] 36 | | where
[INFO] [stdout] 37 | |     F: Field,
[INFO] [stdout] 38 | |     P: Polynomial<F>,
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |     E: PairingOp<G1, G2>,
[INFO] [stdout] 44 | |     E::Output: Eq + One,
[INFO] [stdout]    | |________________________^ implementation `BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PairingOp<G1, G2>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/kzg/verifier.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | trait PairingOp<G1, G2> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated type `PairingOp::Output` is more private than the item `BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>`
[INFO] [stdout]   --> src/kzg/verifier.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | / impl<F, P, G1Proj, G2Proj, G1, G2, E> BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>
[INFO] [stdout] 36 | | where
[INFO] [stdout] 37 | |     F: Field,
[INFO] [stdout] 38 | |     P: Polynomial<F>,
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |     E: PairingOp<G1, G2>,
[INFO] [stdout] 44 | |     E::Output: Eq + One,
[INFO] [stdout]    | |________________________^ implementation `BatchKZGVerifier<F, P, G1Proj, G2Proj, G1, G2, E>` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but associated type `PairingOp::Output` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/kzg/verifier.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     type Output;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_eval_value_to_field` is never used
[INFO] [stdout]    --> src/plonk_circuit.rs:410:4
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn map_eval_value_to_field<F: Field>(val: &EvalValue) -> F {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_plonk_node_value_to_field` is never used
[INFO] [stdout]    --> src/plonk_circuit.rs:424:4
[INFO] [stdout]     |
[INFO] [stdout] 424 | fn map_plonk_node_value_to_field<F: Field>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/plonk_circuit.rs:696:4
[INFO] [stdout]     |
[INFO] [stdout] 696 | fn main() {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `G1`
[INFO] [stdout]    --> src/kzg/verifier.rs:212:35
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 212 -         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout] 212 +         let pairing1 = E::pairing(left_g1, g2.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 212 -         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout] 212 +         let pairing1 = E::pairing(<G1 as Into<_>>::into(left_g1), g2.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `G2`
[INFO] [stdout]    --> src/kzg/verifier.rs:212:51
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout]     |                                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 212 -         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout] 212 +         let pairing1 = E::pairing(left_g1.into(), g2);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 212 -         let pairing1 = E::pairing(left_g1.into(), g2.into());
[INFO] [stdout] 212 +         let pairing1 = E::pairing(left_g1.into(), <G2 as Into<_>>::into(g2));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `G1`
[INFO] [stdout]    --> src/kzg/verifier.rs:213:35
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 213 -         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout] 213 +         let pairing2 = E::pairing(right_g1, g2_s_minus_z.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 213 -         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout] 213 +         let pairing2 = E::pairing(<G1 as Into<_>>::into(right_g1), g2_s_minus_z.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `G2`
[INFO] [stdout]    --> src/kzg/verifier.rs:213:52
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 213 -         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout] 213 +         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 213 -         let pairing2 = E::pairing(right_g1.into(), g2_s_minus_z.into());
[INFO] [stdout] 213 +         let pairing2 = E::pairing(right_g1.into(), <G2 as Into<_>>::into(g2_s_minus_z));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `plonk` (lib test) due to 4 previous errors; 23 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3ebd7bf584ac533247f7a9fc3a81e2174b73996d1659a5921853f50acdeeb014", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3ebd7bf584ac533247f7a9fc3a81e2174b73996d1659a5921853f50acdeeb014", kill_on_drop: false }`
[INFO] [stdout] 3ebd7bf584ac533247f7a9fc3a81e2174b73996d1659a5921853f50acdeeb014
