[INFO] cloning repository https://github.com/nikillxh/zk-groth16-impl [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nikillxh/zk-groth16-impl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikillxh%2Fzk-groth16-impl", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikillxh%2Fzk-groth16-impl'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8794d0225744905879b7ed65337fd6540952f659 [INFO] checking nikillxh/zk-groth16-impl against try#3857be5045fe74bd0f296f6f4c23db10f8857f73 for pr-156807 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikillxh%2Fzk-groth16-impl" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/nikillxh/zk-groth16-impl [INFO] finished tweaking git repo https://github.com/nikillxh/zk-groth16-impl [INFO] tweaked toml for git repo https://github.com/nikillxh/zk-groth16-impl written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/nikillxh/zk-groth16-impl on toolchain 3857be5045fe74bd0f296f6f4c23db10f8857f73 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/nikillxh/zk-groth16-impl 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" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 285608cfa71f21dbb81e8d90371c5f3a55c9962faf174a9cb11f884a0e47cf88 [INFO] running `Command { std: "docker" "start" "-a" "285608cfa71f21dbb81e8d90371c5f3a55c9962faf174a9cb11f884a0e47cf88", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "285608cfa71f21dbb81e8d90371c5f3a55c9962faf174a9cb11f884a0e47cf88", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "285608cfa71f21dbb81e8d90371c5f3a55c9962faf174a9cb11f884a0e47cf88", kill_on_drop: false }` [INFO] [stdout] 285608cfa71f21dbb81e8d90371c5f3a55c9962faf174a9cb11f884a0e47cf88 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bf9b7844783738efd805159bd773a86d295d0ea9f37f0f1dd52e5cd073ff4576 [INFO] running `Command { std: "docker" "start" "-a" "bf9b7844783738efd805159bd773a86d295d0ea9f37f0f1dd52e5cd073ff4576", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.167 [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking groth16 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `high` [INFO] [stdout] --> src/field.rs:187:27 [INFO] [stdout] | [INFO] [stdout] 187 | let (low, high) = self.value[i].overflowing_mul(multiplier.value[j]); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_high` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `carry` is never read [INFO] [stdout] --> src/field.rs:185:29 [INFO] [stdout] | [INFO] [stdout] 185 | let mut carry = 0u64; [INFO] [stdout] | ^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 191 | carry = c1 as u64; [INFO] [stdout] | ----------------- `carry` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `carry` is never read [INFO] [stdout] --> src/field.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | carry = c2 as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `blank` and `verify` are never used [INFO] [stdout] --> src/r1cs.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl R1CS { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 38 | pub fn blank(witness: Vec, eqn_count: Option) -> R1CS { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn verify(&self, witness: Vec) { [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 `hadamard_multiply` is never used [INFO] [stdout] --> src/r1cs.rs:111:4 [INFO] [stdout] | [INFO] [stdout] 111 | fn hadamard_multiply(m1: Vec, m2: Vec) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `field_compatible_matrix` is never used [INFO] [stdout] --> src/qap.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn field_compatible_matrix(input: &mut Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lagrange_interpolation` is never used [INFO] [stdout] --> src/qap.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn lagrange_interpolation(x: FieldElement64, x_points: &Vec, y_points: &Vec) -> Option src/vector.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn i64_to_i128_matrix(matrix: &mut Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `i128_to_u64_matrix` is never used [INFO] [stdout] --> src/vector.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn i128_to_u64_matrix(matrix: &mut Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MODULUS256` is never used [INFO] [stdout] --> src/field.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const MODULUS256: [u64; 4] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FieldElement256` is never constructed [INFO] [stdout] --> src/field.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct FieldElement256 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `inverse`, `value`, and `convert2d` are never used [INFO] [stdout] --> src/field.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl FieldElement64 { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn inverse(self) -> FieldElement64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn value(&self) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn convert2d(matrix: &mut Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/field.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 114 | impl FieldElement256 { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 115 | pub fn new(mut value: [u64; 4]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn reduce(value: &mut [u64; 4]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn add(self, addend: FieldElement256) -> FieldElement256 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn subtract(self, subtrahend: FieldElement256) -> FieldElement256 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn multiply(self, multiplier: FieldElement256) -> FieldElement256 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn is_zero(value: &[u64; 4]) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn random() -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `high` [INFO] [stdout] --> src/field.rs:187:27 [INFO] [stdout] | [INFO] [stdout] 187 | let (low, high) = self.value[i].overflowing_mul(multiplier.value[j]); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_high` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `carry` is never read [INFO] [stdout] --> src/field.rs:185:29 [INFO] [stdout] | [INFO] [stdout] 185 | let mut carry = 0u64; [INFO] [stdout] | ^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 191 | carry = c1 as u64; [INFO] [stdout] | ----------------- `carry` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `carry` is never read [INFO] [stdout] --> src/field.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | carry = c2 as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `blank` and `verify` are never used [INFO] [stdout] --> src/r1cs.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl R1CS { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 38 | pub fn blank(witness: Vec, eqn_count: Option) -> R1CS { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn verify(&self, witness: Vec) { [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 `hadamard_multiply` is never used [INFO] [stdout] --> src/r1cs.rs:111:4 [INFO] [stdout] | [INFO] [stdout] 111 | fn hadamard_multiply(m1: Vec, m2: Vec) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `field_compatible_matrix` is never used [INFO] [stdout] --> src/qap.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn field_compatible_matrix(input: &mut Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lagrange_interpolation` is never used [INFO] [stdout] --> src/qap.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn lagrange_interpolation(x: FieldElement64, x_points: &Vec, y_points: &Vec) -> Option src/vector.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn i64_to_i128_matrix(matrix: &mut Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `i128_to_u64_matrix` is never used [INFO] [stdout] --> src/vector.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn i128_to_u64_matrix(matrix: &mut Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MODULUS256` is never used [INFO] [stdout] --> src/field.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const MODULUS256: [u64; 4] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FieldElement256` is never constructed [INFO] [stdout] --> src/field.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct FieldElement256 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `inverse`, `value`, and `convert2d` are never used [INFO] [stdout] --> src/field.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl FieldElement64 { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn inverse(self) -> FieldElement64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn value(&self) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn convert2d(matrix: &mut Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/field.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 114 | impl FieldElement256 { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 115 | pub fn new(mut value: [u64; 4]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn reduce(value: &mut [u64; 4]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn add(self, addend: FieldElement256) -> FieldElement256 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn subtract(self, subtrahend: FieldElement256) -> FieldElement256 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn multiply(self, multiplier: FieldElement256) -> FieldElement256 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn is_zero(value: &[u64; 4]) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn random() -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.87s [INFO] running `Command { std: "docker" "inspect" "bf9b7844783738efd805159bd773a86d295d0ea9f37f0f1dd52e5cd073ff4576", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf9b7844783738efd805159bd773a86d295d0ea9f37f0f1dd52e5cd073ff4576", kill_on_drop: false }` [INFO] [stdout] bf9b7844783738efd805159bd773a86d295d0ea9f37f0f1dd52e5cd073ff4576