[INFO] cloning repository https://github.com/AbolareRoheemah/Shamir-Secret-Sharing
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AbolareRoheemah/Shamir-Secret-Sharing" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbolareRoheemah%2FShamir-Secret-Sharing", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbolareRoheemah%2FShamir-Secret-Sharing'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0f7139187592a0c7b0f4dd60cd7fc932666cabb3
[INFO] testing AbolareRoheemah/Shamir-Secret-Sharing against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbolareRoheemah%2FShamir-Secret-Sharing" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  73% (903/1224)
Updating files:  74% (906/1224)
Updating files:  75% (918/1224)
Updating files:  76% (931/1224)
Updating files:  77% (943/1224)
Updating files:  78% (955/1224)
Updating files:  79% (967/1224)
Updating files:  80% (980/1224)
Updating files:  81% (992/1224)
Updating files:  82% (1004/1224)
Updating files:  83% (1016/1224)
Updating files:  84% (1029/1224)
Updating files:  85% (1041/1224)
Updating files:  86% (1053/1224)
Updating files:  87% (1065/1224)
Updating files:  88% (1078/1224)
Updating files:  89% (1090/1224)
Updating files:  90% (1102/1224)
Updating files:  91% (1114/1224)
Updating files:  92% (1127/1224)
Updating files:  93% (1139/1224)
Updating files:  94% (1151/1224)
Updating files:  95% (1163/1224)
Updating files:  96% (1176/1224)
Updating files:  97% (1188/1224)
Updating files:  98% (1200/1224)
Updating files:  99% (1212/1224)
Updating files: 100% (1224/1224)
Updating files: 100% (1224/1224), done.
[INFO] started tweaking git repo https://github.com/AbolareRoheemah/Shamir-Secret-Sharing
[INFO] finished tweaking git repo https://github.com/AbolareRoheemah/Shamir-Secret-Sharing
[INFO] tweaked toml for git repo https://github.com/AbolareRoheemah/Shamir-Secret-Sharing written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AbolareRoheemah/Shamir-Secret-Sharing on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AbolareRoheemah/Shamir-Secret-Sharing 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b307cfec025570d578a9f8edb8c74d01457100d5752da9ac8df67d483d586763
[INFO] running `Command { std: "docker" "start" "-a" "b307cfec025570d578a9f8edb8c74d01457100d5752da9ac8df67d483d586763", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b307cfec025570d578a9f8edb8c74d01457100d5752da9ac8df67d483d586763", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b307cfec025570d578a9f8edb8c74d01457100d5752da9ac8df67d483d586763", kill_on_drop: false }`
[INFO] [stdout] b307cfec025570d578a9f8edb8c74d01457100d5752da9ac8df67d483d586763
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5bf0f77ed2591c724c60116ad381075324a8bda3ab335132eceec9a6adb3e9ac
[INFO] running `Command { std: "docker" "start" "-a" "5bf0f77ed2591c724c60116ad381075324a8bda3ab335132eceec9a6adb3e9ac", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling enum-ordinalize-derive v4.3.1
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling ark-serialize-derive v0.5.0
[INFO] [stderr]    Compiling ark-ff-macros v0.5.0
[INFO] [stderr]    Compiling ark-ff-asm v0.5.0
[INFO] [stderr]    Compiling enum-ordinalize v4.3.0
[INFO] [stderr]    Compiling educe v0.6.0
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ark-std v0.5.0
[INFO] [stderr]    Compiling ark-serialize v0.5.0
[INFO] [stderr]    Compiling ark-ff v0.5.0
[INFO] [stderr]    Compiling ark-poly v0.5.0
[INFO] [stderr]    Compiling ark-ec v0.5.0
[INFO] [stderr]    Compiling ark-bn254 v0.5.0
[INFO] [stderr]    Compiling shamir-secret-sharing v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0583]: file not found for module `class_impl`
[INFO] [stdout]  --> src/main.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod class_impl; 
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `class_impl`, create file "src/class_impl.rs" or "src/class_impl/mod.rs"
[INFO] [stdout]   = note: if there is a `mod class_impl` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ark_bn254::Fq`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ark_bn254::Fq;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Univariatepoly`
[INFO] [stdout]   --> src/main.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl Product for Univariatepoly {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `F`
[INFO] [stdout]   --> src/main.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl Product for Univariatepoly<F> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Univariatepoly`
[INFO] [stdout]   --> src/main.rs:91:14
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl Sum for Univariatepoly {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `F`
[INFO] [stdout]   --> src/main.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl Sum for Univariatepoly<F> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Univariatepoly`
[INFO] [stdout]    --> src/main.rs:101:15
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl Add for &Univariatepoly {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `F`
[INFO] [stdout]    --> src/main.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl Add for &Univariatepoly<F> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Univariatepoly`
[INFO] [stdout]    --> src/main.rs:120:15
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl Mul for &Univariatepoly {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `F`
[INFO] [stdout]    --> src/main.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl Mul for &Univariatepoly<F> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Univariatepoly`
[INFO] [stdout]    --> src/main.rs:138:14
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl Add for Univariatepoly {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `F`
[INFO] [stdout]    --> src/main.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl Add for Univariatepoly<F> {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Univariatepoly`
[INFO] [stdout]    --> src/main.rs:146:14
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Mul for Univariatepoly {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `F`
[INFO] [stdout]    --> src/main.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Mul for Univariatepoly<F> {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Univariatepoly`
[INFO] [stdout]    --> src/main.rs:173:53
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn construct_polynomial(secret: BigUint, k: u32) -> Univariatepoly {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `F`
[INFO] [stdout]    --> src/main.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn construct_polynomial(secret: BigUint, k: u32) -> Univariatepoly<F> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Univariatepoly`
[INFO] [stdout]    --> src/main.rs:199:55
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn interpolate(xs: Vec<BigUint>, ys: Vec<BigUint>) -> Univariatepoly {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `F`
[INFO] [stdout]    --> src/main.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn interpolate(xs: Vec<BigUint>, ys: Vec<BigUint>) -> Univariatepoly<F> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Univariatepoly`
[INFO] [stdout]    --> src/main.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |     type Output = Univariatepoly;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `F`
[INFO] [stdout]    --> src/main.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]     |
[INFO] [stdout] 102 |     type Output = Univariatepoly<F>;
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Univariatepoly`
[INFO] [stdout]    --> src/main.rs:121:19
[INFO] [stdout]     |
[INFO] [stdout] 121 |     type Output = Univariatepoly;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `F`
[INFO] [stdout]    --> src/main.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout] 37  | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]     |
[INFO] [stdout] 121 |     type Output = Univariatepoly<F>;
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `.`, `;`, `?`, `}`, or an operator, found `s`
[INFO] [stdout]   --> src/prime_field_shamir.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 26 |             .sum()s
[INFO] [stdout]    |                   ^ expected one of `.`, `;`, `?`, `}`, or an operator
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `F` by `&BigUint`
[INFO] [stdout]   --> src/main.rs:55:64
[INFO] [stdout]    |
[INFO] [stdout] 55 |         self.coef.iter().rev().cloned().reduce(|acc, curr| acc * &x_big + curr).unwrap() % &*PRIME
[INFO] [stdout]    |                                                                ^ no implementation for `F * &BigUint`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting type parameter `F` with trait `Mul`
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl <F: PrimeField + std::ops::Mul<&num_bigint::BigUint>> Univariatepoly<F> {
[INFO] [stdout]    |                     +++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot calculate the remainder of `F` divided by `&BigUint`
[INFO] [stdout]   --> src/main.rs:55:90
[INFO] [stdout]    |
[INFO] [stdout] 55 |         self.coef.iter().rev().cloned().reduce(|acc, curr| acc * &x_big + curr).unwrap() % &*PRIME
[INFO] [stdout]    |         -------------------------------------------------------------------------------- ^ ------- &BigUint
[INFO] [stdout]    |         |
[INFO] [stdout]    |         F
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting type parameter `F` with trait `Rem`
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl <F: PrimeField + std::ops::Rem<&num_bigint::BigUint, Output = BigUint>> Univariatepoly<F> {
[INFO] [stdout]    |                     +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `&F` by `&BigUint`
[INFO] [stdout]   --> src/main.rs:60:31
[INFO] [stdout]    |
[INFO] [stdout] 60 |             .map(|coef| (coef * &scalar) % &*PRIME)
[INFO] [stdout]    |                          ---- ^ ------- &BigUint
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          &F
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl <F: PrimeField> Univariatepoly<F> where &F: Mul<&BigUint> {
[INFO] [stdout]    |                                        +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Univariatepoly`
[INFO] [stdout]   --> src/main.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let numerator: Univariatepoly = interpolating_set.iter()
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `F`
[INFO] [stdout]   --> src/main.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let numerator: Univariatepoly<F> = interpolating_set.iter()
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigUint: PrimeField` is not satisfied
[INFO] [stdout]   --> src/main.rs:71:37
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 Univariatepoly::new(vec![neg_x, BigUint::one()])
[INFO] [stdout]    |                 ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `PrimeField` is not implemented for `BigUint`
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PrimeField` is implemented for `Fp<P, N>`
[INFO] [stdout] note: required by a bound in `Univariatepoly::<F>::new`
[INFO] [stdout]   --> src/main.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl <F: PrimeField> Univariatepoly<F> {
[INFO] [stdout]    |          ^^^^^^^^^^ required by this bound in `Univariatepoly::<F>::new`
[INFO] [stdout] 42 |     fn new(coef: Vec<F>) -> Self {
[INFO] [stdout]    |        --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigUint: PrimeField` is not satisfied
[INFO] [stdout]   --> src/main.rs:67:41
[INFO] [stdout]    |
[INFO] [stdout] 67 |           let numerator: Univariatepoly = interpolating_set.iter()
[INFO] [stdout]    |  _________________________________________^
[INFO] [stdout] 68 | |             .filter(|x_val| *x_val != x)
[INFO] [stdout] 69 | |             .map(|x_in_set| {
[INFO] [stdout] 70 | |                 let neg_x = (&*PRIME - x_in_set) % &*PRIME;
[INFO] [stdout] 71 | |                 Univariatepoly::new(vec![neg_x, BigUint::one()])
[INFO] [stdout] 72 | |             })
[INFO] [stdout]    | |______________^ the trait `PrimeField` is not implemented for `BigUint`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PrimeField` is implemented for `Fp<P, N>`
[INFO] [stdout] note: required by a bound in `Univariatepoly`
[INFO] [stdout]   --> src/main.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]    |                          ^^^^^^^^^^ required by this bound in `Univariatepoly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigUint: PrimeField` is not satisfied
[INFO] [stdout]   --> src/main.rs:83:46
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let mut result = Univariatepoly::new(vec![BigUint::one()]);
[INFO] [stdout]    |                          ------------------- ^^^^^^^^^^^^^^^^^^^^ the trait `PrimeField` is not implemented for `BigUint`
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PrimeField` is implemented for `Fp<P, N>`
[INFO] [stdout] note: required by a bound in `Univariatepoly::<F>::new`
[INFO] [stdout]   --> src/main.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl <F: PrimeField> Univariatepoly<F> {
[INFO] [stdout]    |          ^^^^^^^^^^ required by this bound in `Univariatepoly::<F>::new`
[INFO] [stdout] 42 |     fn new(coef: Vec<F>) -> Self {
[INFO] [stdout]    |        --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigUint: PrimeField` is not satisfied
[INFO] [stdout]   --> src/main.rs:83:26
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let mut result = Univariatepoly::new(vec![BigUint::one()]);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `PrimeField` is not implemented for `BigUint`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PrimeField` is implemented for `Fp<P, N>`
[INFO] [stdout] note: required by a bound in `Univariatepoly`
[INFO] [stdout]   --> src/main.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]    |                          ^^^^^^^^^^ required by this bound in `Univariatepoly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigUint: PrimeField` is not satisfied
[INFO] [stdout]   --> src/main.rs:85:30
[INFO] [stdout]    |
[INFO] [stdout] 85 |             result = &result * &poly;
[INFO] [stdout]    |                              ^ the trait `PrimeField` is not implemented for `BigUint`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PrimeField` is implemented for `Fp<P, N>`
[INFO] [stdout] note: required by a bound in `Univariatepoly`
[INFO] [stdout]   --> src/main.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]    |                          ^^^^^^^^^^ required by this bound in `Univariatepoly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigUint: PrimeField` is not satisfied
[INFO] [stdout]   --> src/main.rs:93:46
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut result = Univariatepoly::new(vec![BigUint::zero()]);
[INFO] [stdout]    |                          ------------------- ^^^^^^^^^^^^^^^^^^^^^ the trait `PrimeField` is not implemented for `BigUint`
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PrimeField` is implemented for `Fp<P, N>`
[INFO] [stdout] note: required by a bound in `Univariatepoly::<F>::new`
[INFO] [stdout]   --> src/main.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl <F: PrimeField> Univariatepoly<F> {
[INFO] [stdout]    |          ^^^^^^^^^^ required by this bound in `Univariatepoly::<F>::new`
[INFO] [stdout] 42 |     fn new(coef: Vec<F>) -> Self {
[INFO] [stdout]    |        --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigUint: PrimeField` is not satisfied
[INFO] [stdout]   --> src/main.rs:93:26
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut result = Univariatepoly::new(vec![BigUint::zero()]);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `PrimeField` is not implemented for `BigUint`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PrimeField` is implemented for `Fp<P, N>`
[INFO] [stdout] note: required by a bound in `Univariatepoly`
[INFO] [stdout]   --> src/main.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]    |                          ^^^^^^^^^^ required by this bound in `Univariatepoly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigUint: PrimeField` is not satisfied
[INFO] [stdout]   --> src/main.rs:95:30
[INFO] [stdout]    |
[INFO] [stdout] 95 |             result = &result + &poly;
[INFO] [stdout]    |                              ^ the trait `PrimeField` is not implemented for `BigUint`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PrimeField` is implemented for `Fp<P, N>`
[INFO] [stdout] note: required by a bound in `Univariatepoly`
[INFO] [stdout]   --> src/main.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]    |                          ^^^^^^^^^^ required by this bound in `Univariatepoly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigUint: PrimeField` is not satisfied
[INFO] [stdout]    --> src/main.rs:134:29
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Univariatepoly::new(result)
[INFO] [stdout]     |         ------------------- ^^^^^^ the trait `PrimeField` is not implemented for `BigUint`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PrimeField` is implemented for `Fp<P, N>`
[INFO] [stdout] note: required by a bound in `Univariatepoly::<F>::new`
[INFO] [stdout]    --> src/main.rs:41:10
[INFO] [stdout]     |
[INFO] [stdout] 41  | impl <F: PrimeField> Univariatepoly<F> {
[INFO] [stdout]     |          ^^^^^^^^^^ required by this bound in `Univariatepoly::<F>::new`
[INFO] [stdout] 42  |     fn new(coef: Vec<F>) -> Self {
[INFO] [stdout]     |        --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigUint: PrimeField` is not satisfied
[INFO] [stdout]    --> src/main.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Univariatepoly::new(result)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `PrimeField` is not implemented for `BigUint`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PrimeField` is implemented for `Fp<P, N>`
[INFO] [stdout] note: required by a bound in `Univariatepoly`
[INFO] [stdout]    --> src/main.rs:37:26
[INFO] [stdout]     |
[INFO] [stdout] 37  | struct Univariatepoly<F: PrimeField> {
[INFO] [stdout]     |                          ^^^^^^^^^^ required by this bound in `Univariatepoly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shamir-secret-sharing` (bin "shamir-secret-sharing") due to 25 previous errors; 2 warnings emitted
[INFO] [stdout] Some errors have detailed explanations: E0107, E0277, E0369, E0583.
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shamir-secret-sharing` (bin "prime_field_shamir") due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "5bf0f77ed2591c724c60116ad381075324a8bda3ab335132eceec9a6adb3e9ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5bf0f77ed2591c724c60116ad381075324a8bda3ab335132eceec9a6adb3e9ac", kill_on_drop: false }`
[INFO] [stdout] 5bf0f77ed2591c724c60116ad381075324a8bda3ab335132eceec9a6adb3e9ac
