[INFO] cloning repository https://github.com/ANAVHEOBA/starkcash
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ANAVHEOBA/starkcash" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FANAVHEOBA%2Fstarkcash", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FANAVHEOBA%2Fstarkcash'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7f905177f3c2378e8b41ddbfe2f0adde682e01c6
[INFO] checking ANAVHEOBA/starkcash against master#3f6250a7bb79e600d9036bbc7c8f65af43933643 for pr-147859
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FANAVHEOBA%2Fstarkcash" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ANAVHEOBA/starkcash
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/ANAVHEOBA/starkcash
[INFO] tweaked toml for git repo https://github.com/ANAVHEOBA/starkcash written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ANAVHEOBA/starkcash on toolchain 3f6250a7bb79e600d9036bbc7c8f65af43933643
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ANAVHEOBA/starkcash 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" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libc v0.2.181
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 187d91aab5a7b471e782dd5a8a3b4ecfe98fab7456d61b4e15677dc3a66c4b38
[INFO] running `Command { std: "docker" "start" "-a" "187d91aab5a7b471e782dd5a8a3b4ecfe98fab7456d61b4e15677dc3a66c4b38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "187d91aab5a7b471e782dd5a8a3b4ecfe98fab7456d61b4e15677dc3a66c4b38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "187d91aab5a7b471e782dd5a8a3b4ecfe98fab7456d61b4e15677dc3a66c4b38", kill_on_drop: false }`
[INFO] [stdout] 187d91aab5a7b471e782dd5a8a3b4ecfe98fab7456d61b4e15677dc3a66c4b38
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a16f09f1512623a8b5a283473197bbfc235d9da4e71388cae713e6926f966e51
[INFO] running `Command { std: "docker" "start" "-a" "a16f09f1512623a8b5a283473197bbfc235d9da4e71388cae713e6926f966e51", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.181
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling ark-serialize-derive v0.4.2
[INFO] [stderr]    Compiling ark-ff-asm v0.4.2
[INFO] [stderr]    Compiling ark-ff-macros v0.4.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking ark-std v0.4.0
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking ark-serialize v0.4.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking ark-ff v0.4.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking ark-poly v0.4.2
[INFO] [stderr]     Checking ark-ec v0.4.2
[INFO] [stderr]     Checking ark-bn254 v0.4.0
[INFO] [stderr]     Checking light-poseidon v0.2.0
[INFO] [stderr]     Checking starkcash v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking starkcash-zkp v0.1.0 (/opt/rustwide/workdir/zkp)
[INFO] [stdout] error[E0599]: no method named `is_valid` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/integration/cryptography/proof_tests.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 26 |     assert!(proof.is_valid(), "Should generate valid proof");
[INFO] [stdout]    |                   ^^^^^^^^ method not found in `Result<Proof, ProofError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `is_valid` exists on the type `Proof`
[INFO] [stdout]   --> src/module/cryptography/proof.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn is_valid(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Proof` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     assert!(proof.expect("REASON").is_valid(), "Should generate valid proof");
[INFO] [stdout]    |                  +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `a` on type `Result<Proof, ProofError>`
[INFO] [stdout]   --> tests/integration/cryptography/proof_tests.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |     assert!(!proof.a.is_empty(), "Proof component A should not be empty");
[INFO] [stdout]    |                    ^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 27 |     assert!(!proof.unwrap().a.is_empty(), "Proof component A should not be empty");
[INFO] [stdout]    |                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `b` on type `Result<Proof, ProofError>`
[INFO] [stdout]   --> tests/integration/cryptography/proof_tests.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |     assert!(!proof.b.is_empty(), "Proof component B should not be empty");
[INFO] [stdout]    |                    ^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 28 |     assert!(!proof.unwrap().b.is_empty(), "Proof component B should not be empty");
[INFO] [stdout]    |                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `c` on type `Result<Proof, ProofError>`
[INFO] [stdout]   --> tests/integration/cryptography/proof_tests.rs:29:20
[INFO] [stdout]    |
[INFO] [stdout] 29 |     assert!(!proof.c.is_empty(), "Proof component C should not be empty");
[INFO] [stdout]    |                    ^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 29 |     assert!(!proof.unwrap().c.is_empty(), "Proof component C should not be empty");
[INFO] [stdout]    |                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:39:58
[INFO] [stdout]     |
[INFO] [stdout]  39 |     let is_valid = starkcash::cryptography::verify_proof(&proof, &public_inputs);
[INFO] [stdout]     |                    ------------------------------------- ^^^^^^ expected `&Proof`, found `&Result<Proof, ProofError>`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Proof`
[INFO] [stdout]                found reference `&Result<Proof, ProofError>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/module/cryptography/proof.rs:338:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn verify_proof(proof: &Proof, public_inputs: &PublicInputs) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:53:58
[INFO] [stdout]     |
[INFO] [stdout]  53 |     let is_valid = starkcash::cryptography::verify_proof(&proof, &wrong_inputs);
[INFO] [stdout]     |                    ------------------------------------- ^^^^^^ expected `&Proof`, found `&Result<Proof, ProofError>`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Proof`
[INFO] [stdout]                found reference `&Result<Proof, ProofError>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/module/cryptography/proof.rs:338:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn verify_proof(proof: &Proof, public_inputs: &PublicInputs) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `a` on type `Result<Proof, ProofError>`
[INFO] [stdout]   --> tests/integration/cryptography/proof_tests.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 |     proof.a[0] = proof.a[0].wrapping_add(1);
[INFO] [stdout]    |           ^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 68 |     proof.unwrap().a[0] = proof.a[0].wrapping_add(1);
[INFO] [stdout]    |           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `a` on type `Result<Proof, ProofError>`
[INFO] [stdout]   --> tests/integration/cryptography/proof_tests.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 |     proof.a[0] = proof.a[0].wrapping_add(1);
[INFO] [stdout]    |                        ^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 68 |     proof.a[0] = proof.unwrap().a[0].wrapping_add(1);
[INFO] [stdout]    |                        +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:69:58
[INFO] [stdout]     |
[INFO] [stdout]  69 |     let is_valid = starkcash::cryptography::verify_proof(&proof, &public_inputs);
[INFO] [stdout]     |                    ------------------------------------- ^^^^^^ expected `&Proof`, found `&Result<Proof, ProofError>`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Proof`
[INFO] [stdout]                found reference `&Result<Proof, ProofError>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/module/cryptography/proof.rs:338:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn verify_proof(proof: &Proof, public_inputs: &PublicInputs) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:85:47
[INFO] [stdout]     |
[INFO] [stdout]  85 |         starkcash::cryptography::verify_proof(&proof1, &public_inputs),
[INFO] [stdout]     |         ------------------------------------- ^^^^^^^ expected `&Proof`, found `&Result<Proof, ProofError>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Proof`
[INFO] [stdout]                found reference `&Result<Proof, ProofError>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/module/cryptography/proof.rs:338:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn verify_proof(proof: &Proof, public_inputs: &PublicInputs) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:89:47
[INFO] [stdout]     |
[INFO] [stdout]  89 |         starkcash::cryptography::verify_proof(&proof2, &public_inputs),
[INFO] [stdout]     |         ------------------------------------- ^^^^^^^ expected `&Proof`, found `&Result<Proof, ProofError>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Proof`
[INFO] [stdout]                found reference `&Result<Proof, ProofError>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/module/cryptography/proof.rs:338:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn verify_proof(proof: &Proof, public_inputs: &PublicInputs) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `a` on type `Result<Proof, ProofError>`
[INFO] [stdout]   --> tests/integration/cryptography/proof_tests.rs:93:16
[INFO] [stdout]    |
[INFO] [stdout] 93 |         proof1.a, proof2.a,
[INFO] [stdout]    |                ^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 93 |         proof1.unwrap().a, proof2.a,
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `a` on type `Result<Proof, ProofError>`
[INFO] [stdout]   --> tests/integration/cryptography/proof_tests.rs:93:26
[INFO] [stdout]    |
[INFO] [stdout] 93 |         proof1.a, proof2.a,
[INFO] [stdout]    |                          ^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 93 |         proof1.a, proof2.unwrap().a,
[INFO] [stdout]    |                          +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_bytes` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let serialized = proof.to_bytes();
[INFO] [stdout]     |                            ^^^^^^^^ method not found in `Result<Proof, ProofError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `to_bytes` exists on the type `Proof`
[INFO] [stdout]    --> src/module/cryptography/proof.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Proof` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let serialized = proof.expect("REASON").to_bytes();
[INFO] [stdout]     |                           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `a` on type `Result<Proof, ProofError>`
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:108:22
[INFO] [stdout]     |
[INFO] [stdout] 108 |     assert_eq!(proof.a, deserialized.a, "Component A should match");
[INFO] [stdout]     |                      ^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 108 |     assert_eq!(proof.unwrap().a, deserialized.a, "Component A should match");
[INFO] [stdout]     |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `a` on type `Result<Proof, ProofError>`
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:108:38
[INFO] [stdout]     |
[INFO] [stdout] 108 |     assert_eq!(proof.a, deserialized.a, "Component A should match");
[INFO] [stdout]     |                                      ^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 108 |     assert_eq!(proof.a, deserialized.unwrap().a, "Component A should match");
[INFO] [stdout]     |                                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `b` on type `Result<Proof, ProofError>`
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:109:22
[INFO] [stdout]     |
[INFO] [stdout] 109 |     assert_eq!(proof.b, deserialized.b, "Component B should match");
[INFO] [stdout]     |                      ^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 109 |     assert_eq!(proof.unwrap().b, deserialized.b, "Component B should match");
[INFO] [stdout]     |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `b` on type `Result<Proof, ProofError>`
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:109:38
[INFO] [stdout]     |
[INFO] [stdout] 109 |     assert_eq!(proof.b, deserialized.b, "Component B should match");
[INFO] [stdout]     |                                      ^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 109 |     assert_eq!(proof.b, deserialized.unwrap().b, "Component B should match");
[INFO] [stdout]     |                                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `c` on type `Result<Proof, ProofError>`
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:110:22
[INFO] [stdout]     |
[INFO] [stdout] 110 |     assert_eq!(proof.c, deserialized.c, "Component C should match");
[INFO] [stdout]     |                      ^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 110 |     assert_eq!(proof.unwrap().c, deserialized.c, "Component C should match");
[INFO] [stdout]     |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `c` on type `Result<Proof, ProofError>`
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:110:38
[INFO] [stdout]     |
[INFO] [stdout] 110 |     assert_eq!(proof.c, deserialized.c, "Component C should match");
[INFO] [stdout]     |                                      ^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 110 |     assert_eq!(proof.c, deserialized.unwrap().c, "Component C should match");
[INFO] [stdout]     |                                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:113:47
[INFO] [stdout]     |
[INFO] [stdout] 113 |         starkcash::cryptography::verify_proof(&deserialized, &public_inputs),
[INFO] [stdout]     |         ------------------------------------- ^^^^^^^^^^^^^ expected `&Proof`, found `&Result<Proof, ProofError>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Proof`
[INFO] [stdout]                found reference `&Result<Proof, ProofError>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/module/cryptography/proof.rs:338:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn verify_proof(proof: &Proof, public_inputs: &PublicInputs) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_bytes` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:137:16
[INFO] [stdout]     |
[INFO] [stdout] 137 |         proof1.to_bytes().len(),
[INFO] [stdout]     |                ^^^^^^^^ method not found in `Result<Proof, ProofError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `to_bytes` exists on the type `Proof`
[INFO] [stdout]    --> src/module/cryptography/proof.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Proof` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 137 |         proof1.expect("REASON").to_bytes().len(),
[INFO] [stdout]     |               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_bytes` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:138:16
[INFO] [stdout]     |
[INFO] [stdout] 138 |         proof2.to_bytes().len(),
[INFO] [stdout]     |                ^^^^^^^^ method not found in `Result<Proof, ProofError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `to_bytes` exists on the type `Proof`
[INFO] [stdout]    --> src/module/cryptography/proof.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Proof` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 138 |         proof2.expect("REASON").to_bytes().len(),
[INFO] [stdout]     |               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_bytes` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:142:16
[INFO] [stdout]     |
[INFO] [stdout] 142 |         proof2.to_bytes().len(),
[INFO] [stdout]     |                ^^^^^^^^ method not found in `Result<Proof, ProofError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `to_bytes` exists on the type `Proof`
[INFO] [stdout]    --> src/module/cryptography/proof.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Proof` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 142 |         proof2.expect("REASON").to_bytes().len(),
[INFO] [stdout]     |               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_bytes` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:143:16
[INFO] [stdout]     |
[INFO] [stdout] 143 |         proof3.to_bytes().len(),
[INFO] [stdout]     |                ^^^^^^^^ method not found in `Result<Proof, ProofError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `to_bytes` exists on the type `Proof`
[INFO] [stdout]    --> src/module/cryptography/proof.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Proof` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 143 |         proof3.expect("REASON").to_bytes().len(),
[INFO] [stdout]     |               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:179:55
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let _ = starkcash::cryptography::verify_proof(&proof, &public_inputs);
[INFO] [stdout]     |                 ------------------------------------- ^^^^^^ expected `&Proof`, found `&Result<Proof, ProofError>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Proof`
[INFO] [stdout]                found reference `&Result<Proof, ProofError>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/module/cryptography/proof.rs:338:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn verify_proof(proof: &Proof, public_inputs: &PublicInputs) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_valid` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:210:24
[INFO] [stdout]     |
[INFO] [stdout] 210 |         assert!(!proof.is_valid(), "Empty path should produce invalid proof");
[INFO] [stdout]     |                        ^^^^^^^^ method not found in `Result<Proof, ProofError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `is_valid` exists on the type `Proof`
[INFO] [stdout]    --> src/module/cryptography/proof.rs:98:5
[INFO] [stdout]     |
[INFO] [stdout]  98 |     pub fn is_valid(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Proof` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 210 |         assert!(!proof.expect("REASON").is_valid(), "Empty path should produce invalid proof");
[INFO] [stdout]     |                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_valid` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:232:20
[INFO] [stdout]     |
[INFO] [stdout] 232 |             !proof.is_valid(),
[INFO] [stdout]     |                    ^^^^^^^^ method not found in `Result<Proof, ProofError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `is_valid` exists on the type `Proof`
[INFO] [stdout]    --> src/module/cryptography/proof.rs:98:5
[INFO] [stdout]     |
[INFO] [stdout]  98 |     pub fn is_valid(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Proof` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 232 |             !proof.expect("REASON").is_valid(),
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:252:58
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let is_valid = starkcash::cryptography::verify_proof(&proof, &public_inputs);
[INFO] [stdout]     |                    ------------------------------------- ^^^^^^ expected `&Proof`, found `&Result<Proof, ProofError>`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Proof`
[INFO] [stdout]                found reference `&Result<Proof, ProofError>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/module/cryptography/proof.rs:338:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn verify_proof(proof: &Proof, public_inputs: &PublicInputs) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/integration/cryptography/proof_tests.rs:269:58
[INFO] [stdout]     |
[INFO] [stdout] 269 |     let is_valid = starkcash::cryptography::verify_proof(&proof, &public_inputs);
[INFO] [stdout]     |                    ------------------------------------- ^^^^^^ expected `&Proof`, found `&Result<Proof, ProofError>`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Proof`
[INFO] [stdout]                found reference `&Result<Proof, ProofError>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/module/cryptography/proof.rs:338:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn verify_proof(proof: &Proof, public_inputs: &PublicInputs) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `starkcash` (test "cryptography_integration") due to 30 previous errors
[INFO] running `Command { std: "docker" "inspect" "a16f09f1512623a8b5a283473197bbfc235d9da4e71388cae713e6926f966e51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a16f09f1512623a8b5a283473197bbfc235d9da4e71388cae713e6926f966e51", kill_on_drop: false }`
[INFO] [stdout] a16f09f1512623a8b5a283473197bbfc235d9da4e71388cae713e6926f966e51
