[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 a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwu-s-john%2FPLONK" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wu-s-john/PLONK on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e8e301c2fc979776ca5273afaabff5d9a78df7ecb43091dca5bcd188bcc564a7
[INFO] running `Command { std: "docker" "start" "e8e301c2fc979776ca5273afaabff5d9a78df7ecb43091dca5bcd188bcc564a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e8e301c2fc979776ca5273afaabff5d9a78df7ecb43091dca5bcd188bcc564a7", 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" "e8e301c2fc979776ca5273afaabff5d9a78df7ecb43091dca5bcd188bcc564a7" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e8e301c2fc979776ca5273afaabff5d9a78df7ecb43091dca5bcd188bcc564a7", 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" "e8e301c2fc979776ca5273afaabff5d9a78df7ecb43091dca5bcd188bcc564a7" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libc v0.2.170
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[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 generic-array v0.14.7
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]     Checking either v1.14.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking tracing-subscriber v0.2.25
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling term v1.0.1
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling ena v0.14.3
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling ascii-canvas v4.0.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling pico-args v0.5.0
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling string_cache v0.8.8
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling quote v1.0.39
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling syn v2.0.99
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking lalrpop-util v0.22.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling lalrpop v0.22.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]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling ark-ff-macros v0.3.0
[INFO] [stderr]    Compiling ark-ff-asm 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 ppv-lite86 v0.2.20
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]    Compiling pest v2.7.15
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking logos v0.12.1
[INFO] [stderr]     Checking ark-std v0.3.0
[INFO] [stderr]     Checking ark-std v0.4.0
[INFO] [stderr]     Checking ark-serialize v0.3.0
[INFO] [stderr]     Checking ark-serialize v0.4.2
[INFO] [stderr]    Compiling semver-parser v0.10.3
[INFO] [stderr]     Checking ark-ff v0.4.2
[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-relations v0.3.0
[INFO] [stderr]     Checking ark-ec 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: `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: `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: `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: `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: `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: 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] [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: 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] [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" "e8e301c2fc979776ca5273afaabff5d9a78df7ecb43091dca5bcd188bcc564a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8e301c2fc979776ca5273afaabff5d9a78df7ecb43091dca5bcd188bcc564a7", kill_on_drop: false }`
[INFO] [stdout] e8e301c2fc979776ca5273afaabff5d9a78df7ecb43091dca5bcd188bcc564a7
