[INFO] fetching crate shamir_file_secret_sharing 1.0.0...
[INFO] testing shamir_file_secret_sharing-1.0.0 against 1.75.0 for beta-1.76-1
[INFO] extracting crate shamir_file_secret_sharing 1.0.0 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate shamir_file_secret_sharing 1.0.0 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate shamir_file_secret_sharing 1.0.0
[INFO] finished tweaking crates.io crate shamir_file_secret_sharing 1.0.0
[INFO] tweaked toml for crates.io crate shamir_file_secret_sharing 1.0.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate crates.io crate shamir_file_secret_sharing 1.0.0 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" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 34c3c670b5baa2796dc95806d64b92047ae2d12aa2c121479a7c48a6233037d6
[INFO] running `Command { std: "docker" "start" "-a" "34c3c670b5baa2796dc95806d64b92047ae2d12aa2c121479a7c48a6233037d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "34c3c670b5baa2796dc95806d64b92047ae2d12aa2c121479a7c48a6233037d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34c3c670b5baa2796dc95806d64b92047ae2d12aa2c121479a7c48a6233037d6", kill_on_drop: false }`
[INFO] [stdout] 34c3c670b5baa2796dc95806d64b92047ae2d12aa2c121479a7c48a6233037d6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 176b1972d27fc57d08d7d80ac138147ddddf88f68f65b3fb3a017d8b32132764
[INFO] running `Command { std: "docker" "start" "-a" "176b1972d27fc57d08d7d80ac138147ddddf88f68f65b3fb3a017d8b32132764", kill_on_drop: false }`
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling syn v1.0.105
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling serde v1.0.148
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling unicode-segmentation v1.10.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling getrandom v0.2.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling structopt v0.3.26
[INFO] [stderr]    Compiling shamir_file_secret_sharing v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> src/main.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | #![feature(const_eval_limit)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed the limit entirely
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `const_eval_limit` in this scope
[INFO] [stdout]   --> src/main.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | #![const_eval_limit = "0"]
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the attribute macro `derive`
[INFO] [stdout]   --> src/main.rs:62:3
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(StructOpt)]
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `structopt` in this scope
[INFO] [stdout]   --> src/main.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[structopt(name = "share")]
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `structopt` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `structopt` in this scope
[INFO] [stdout]   --> src/main.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 |     #[structopt(name = "recover")]
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `structopt` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the attribute macro `derive`
[INFO] [stdout]   --> src/main.rs:79:3
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(StructOpt)]
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the attribute macro `derive`
[INFO] [stdout]   --> src/main.rs:93:3
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(StructOpt)]
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the attribute macro `derive`
[INFO] [stdout]   --> src/galois_field_256.rs:93:3
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(Copy, Clone, Debug, PartialEq, Eq)]
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the attribute macro `derive`
[INFO] [stdout]   --> src/polynomials.rs:23:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, PartialEq, Eq)]
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/main.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | #![feature(test)]
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Element: Copy` is not satisfied
[INFO] [stdout]    --> src/galois_field_256.rs:276:34
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let mut all_products = [[Self::new(0); 256]; 256];
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ the trait `Copy` is not implemented for `Element`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the `Copy` trait is required because this value will be copied for each element of the array
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Copy)]`
[INFO] [stdout]     |
[INFO] [stdout] 94  + #[derive(Copy)]
[INFO] [stdout] 95  | pub struct Element(u8);
[INFO] [stdout]     |
[INFO] [stdout] help: consider creating a new `const` item and initializing it with the result of the function call to be used in the repeat position
[INFO] [stdout]     |
[INFO] [stdout] 276 ~         const ARRAY_REPEAT_VALUE: Element = Self::new(0);
[INFO] [stdout] 277 ~         let mut all_products = [[ARRAY_REPEAT_VALUE; 256]; 256];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Element: Copy` is not satisfied
[INFO] [stdout]    --> src/galois_field_256.rs:323:33
[INFO] [stdout]     |
[INFO] [stdout] 323 |         let mut all_inverses = [None; 256];
[INFO] [stdout]     |                                 ^^^^ the trait `Copy` is not implemented for `Element`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `Option<Element>` to implement `Copy`
[INFO] [stdout]     = note: the `Copy` trait is required because this value will be copied for each element of the array
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Copy)]`
[INFO] [stdout]     |
[INFO] [stdout] 94  + #[derive(Copy)]
[INFO] [stdout] 95  | pub struct Element(u8);
[INFO] [stdout]     |
[INFO] [stdout] help: consider creating a new `const` item and initializing it with the result of the constructor to be used in the repeat position
[INFO] [stdout]     |
[INFO] [stdout] 323 ~         const ARRAY_REPEAT_VALUE: Option<_> = None;
[INFO] [stdout] 324 ~         let mut all_inverses = [ARRAY_REPEAT_VALUE; 256];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Element: Copy` is not satisfied
[INFO] [stdout]    --> src/galois_field_256.rs:349:32
[INFO] [stdout]     |
[INFO] [stdout] 349 |         let mut all_powers = [[Self::new(0); 256]; 256];
[INFO] [stdout]     |                                ^^^^^^^^^^^^ the trait `Copy` is not implemented for `Element`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the `Copy` trait is required because this value will be copied for each element of the array
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Copy)]`
[INFO] [stdout]     |
[INFO] [stdout] 94  + #[derive(Copy)]
[INFO] [stdout] 95  | pub struct Element(u8);
[INFO] [stdout]     |
[INFO] [stdout] help: consider creating a new `const` item and initializing it with the result of the function call to be used in the repeat position
[INFO] [stdout]     |
[INFO] [stdout] 349 ~         const ARRAY_REPEAT_VALUE: Element = Self::new(0);
[INFO] [stdout] 350 ~         let mut all_powers = [[ARRAY_REPEAT_VALUE; 256]; 256];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `Vec<Element>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/polynomials.rs:39:32
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 self.0 = rhs.0.clone();
[INFO] [stdout]    |                                ^^^^^ method cannot be called on `Vec<Element>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/galois_field_256.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Element(u8);
[INFO] [stdout]    | ------------------ doesn't satisfy `Element: Clone`
[INFO] [stdout]   --> /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/vec/mod.rs:396:1
[INFO] [stdout]    |
[INFO] [stdout]    = note: doesn't satisfy `Vec<Element>: Clone`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Element: Clone`
[INFO] [stdout]            which is required by `Vec<Element>: Clone`
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Clone)]`
[INFO] [stdout]   --> src/galois_field_256.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 + #[derive(Clone)]
[INFO] [stdout] 95 | pub struct Element(u8);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `resize` exists for struct `Vec<Element>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/polynomials.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     self.0.resize(rhs_degree + 1, Elt::new(0));
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/galois_field_256.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Element(u8);
[INFO] [stdout]    | ------------------ doesn't satisfy `Element: Clone`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Element: Clone`
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Clone)]`
[INFO] [stdout]   --> src/galois_field_256.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 + #[derive(Clone)]
[INFO] [stdout] 95 | pub struct Element(u8);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/polynomials.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut ret: GF256Polynomial = self.clone();
[INFO] [stdout]     |                      ---------------   ^^^^^^^^^^^^ expected `GF256Polynomial`, found `&GF256Polynomial`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      expected due to this
[INFO] [stdout]     |
[INFO] [stdout] note: `GF256Polynomial` does not implement `Clone`, so `&GF256Polynomial` was cloned instead
[INFO] [stdout]    --> src/polynomials.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut ret: GF256Polynomial = self.clone();
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] help: consider annotating `GF256Polynomial` with `#[derive(Clone)]`
[INFO] [stdout]     |
[INFO] [stdout] 24  + #[derive(Clone)]
[INFO] [stdout] 25  | pub struct GF256Polynomial(Vec<Elt>);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/polynomials.rs:174:40
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut ret: GF256Polynomial = self.clone();
[INFO] [stdout]     |                      ---------------   ^^^^^^^^^^^^ expected `GF256Polynomial`, found `&GF256Polynomial`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      expected due to this
[INFO] [stdout]     |
[INFO] [stdout] note: `GF256Polynomial` does not implement `Clone`, so `&GF256Polynomial` was cloned instead
[INFO] [stdout]    --> src/polynomials.rs:174:40
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut ret: GF256Polynomial = self.clone();
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] help: consider annotating `GF256Polynomial` with `#[derive(Clone)]`
[INFO] [stdout]     |
[INFO] [stdout] 24  + #[derive(Clone)]
[INFO] [stdout] 25  | pub struct GF256Polynomial(Vec<Elt>);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Element`
[INFO] [stdout]    --> src/polynomials.rs:189:19
[INFO] [stdout]     |
[INFO] [stdout] 189 |         if factor == Elt::ZERO {
[INFO] [stdout]     |            ------ ^^ --------- Element
[INFO] [stdout]     |            |
[INFO] [stdout]     |            Element
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Element`
[INFO] [stdout]    --> src/galois_field_256.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout] 94  | pub struct Element(u8);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Element` with `#[derive(PartialEq)]`
[INFO] [stdout]    --> src/galois_field_256.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout] 94  + #[derive(PartialEq)]
[INFO] [stdout] 95  | pub struct Element(u8);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0368]: binary assignment operation `*=` cannot be applied to type `&GF256Polynomial`
[INFO] [stdout]    --> src/polynomials.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         result *= factor;
[INFO] [stdout]     |         ------^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         cannot use `*=` on type `&GF256Polynomial`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/polynomials.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn mul(self, factor: Elt) -> GF256Polynomial {
[INFO] [stdout]     |                                  --------------- expected `GF256Polynomial` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 216 |         result
[INFO] [stdout]     |         ^^^^^^ expected `GF256Polynomial`, found `&GF256Polynomial`
[INFO] [stdout]     |
[INFO] [stdout] note: `GF256Polynomial` does not implement `Clone`, so `&GF256Polynomial` was cloned instead
[INFO] [stdout]    --> src/polynomials.rs:214:26
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut result = self.clone();
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] help: consider annotating `GF256Polynomial` with `#[derive(Clone)]`
[INFO] [stdout]     |
[INFO] [stdout] 24  + #[derive(Clone)]
[INFO] [stdout] 25  | pub struct GF256Polynomial(Vec<Elt>);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Element: Clone` is not satisfied
[INFO] [stdout]    --> src/polynomials.rs:241:24
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 result.resize(product_degree + 1, Elt::new(0));
[INFO] [stdout]     |                        ^^^^^^ the trait `Clone` is not implemented for `Element`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `Vec::<T, A>::resize`
[INFO] [stdout]    --> /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/vec/mod.rs:2412:5
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Clone)]`
[INFO] [stdout]    --> src/galois_field_256.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout] 94  + #[derive(Clone)]
[INFO] [stdout] 95  | pub struct Element(u8);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for mutable reference `&mut GF256Polynomial` in the current scope
[INFO] [stdout]    --> src/polynomials.rs:278:23
[INFO] [stdout]     |
[INFO] [stdout] 278 |         *self = &self.clone() * rhs;
[INFO] [stdout]     |                       ^^^^^ method not found in `&mut GF256Polynomial`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the trait `Clone` defines an item `clone`, but is explicitly unimplemented
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_args` found for enum `ShamirMainCommand` in the current scope
[INFO] [stdout]    --> src/main.rs:333:40
[INFO] [stdout]     |
[INFO] [stdout] 63  | enum ShamirMainCommand {
[INFO] [stdout]     | ---------------------- variant or associated item `from_args` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 333 |     let operation = ShamirMainCommand::from_args();
[INFO] [stdout]     |                                        ^^^^^^^^^ variant or associated item not found in `ShamirMainCommand`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `from_args`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `StructOpt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `structopt::StructOpt`
[INFO] [stdout]    --> src/main.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | use structopt::StructOpt;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 23 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0368, E0369, E0554, E0557, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shamir_file_secret_sharing` (bin "shamir_file_secret_sharing") due to 24 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "176b1972d27fc57d08d7d80ac138147ddddf88f68f65b3fb3a017d8b32132764", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "176b1972d27fc57d08d7d80ac138147ddddf88f68f65b3fb3a017d8b32132764", kill_on_drop: false }`
[INFO] [stdout] 176b1972d27fc57d08d7d80ac138147ddddf88f68f65b3fb3a017d8b32132764
[INFO] testing shamir_file_secret_sharing-1.0.0 against beta-2023-12-22 for beta-1.76-1
[INFO] extracting crate shamir_file_secret_sharing 1.0.0 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate shamir_file_secret_sharing 1.0.0 on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate shamir_file_secret_sharing 1.0.0
[INFO] finished tweaking crates.io crate shamir_file_secret_sharing 1.0.0
[INFO] tweaked toml for crates.io crate shamir_file_secret_sharing 1.0.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate crates.io crate shamir_file_secret_sharing 1.0.0 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" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3294638160b73255ab6799266bda8a72b72d6db89bc0ca9e3a96217d4d1447c5
[INFO] running `Command { std: "docker" "start" "-a" "3294638160b73255ab6799266bda8a72b72d6db89bc0ca9e3a96217d4d1447c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3294638160b73255ab6799266bda8a72b72d6db89bc0ca9e3a96217d4d1447c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3294638160b73255ab6799266bda8a72b72d6db89bc0ca9e3a96217d4d1447c5", kill_on_drop: false }`
[INFO] [stdout] 3294638160b73255ab6799266bda8a72b72d6db89bc0ca9e3a96217d4d1447c5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ebb896bd96996bb4558a545ddd10f7c34401457637d91cb3312abdf5d6a59a58
[INFO] running `Command { std: "docker" "start" "-a" "ebb896bd96996bb4558a545ddd10f7c34401457637d91cb3312abdf5d6a59a58", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling syn v1.0.105
[INFO] [stderr]    Compiling serde v1.0.148
[INFO] [stderr]    Compiling unicode-segmentation v1.10.0
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling getrandom v0.2.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling structopt v0.3.26
[INFO] [stderr]    Compiling shamir_file_secret_sharing v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> src/main.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | #![feature(const_eval_limit)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed the limit entirely
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `const_eval_limit` in this scope
[INFO] [stdout]   --> src/main.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | #![const_eval_limit = "0"]
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the attribute macro `derive`
[INFO] [stdout]   --> src/main.rs:62:3
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(StructOpt)]
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `structopt` in this scope
[INFO] [stdout]   --> src/main.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[structopt(name = "share")]
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `structopt` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `structopt` in this scope
[INFO] [stdout]   --> src/main.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 |     #[structopt(name = "recover")]
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `structopt` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the attribute macro `derive`
[INFO] [stdout]   --> src/main.rs:79:3
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(StructOpt)]
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the attribute macro `derive`
[INFO] [stdout]   --> src/main.rs:93:3
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(StructOpt)]
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the attribute macro `derive`
[INFO] [stdout]   --> src/galois_field_256.rs:93:3
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(Copy, Clone, Debug, PartialEq, Eq)]
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot determine resolution for the attribute macro `derive`
[INFO] [stdout]   --> src/polynomials.rs:23:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, PartialEq, Eq)]
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: import resolution is stuck, try simplifying macro imports
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]   --> src/main.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | #![feature(test)]
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Element: Copy` is not satisfied
[INFO] [stdout]    --> src/galois_field_256.rs:276:34
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let mut all_products = [[Self::new(0); 256]; 256];
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ the trait `Copy` is not implemented for `Element`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the `Copy` trait is required because this value will be copied for each element of the array
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Copy)]`
[INFO] [stdout]     |
[INFO] [stdout] 94  + #[derive(Copy)]
[INFO] [stdout] 95  | pub struct Element(u8);
[INFO] [stdout]     |
[INFO] [stdout] help: consider creating a new `const` item and initializing it with the result of the function call to be used in the repeat position
[INFO] [stdout]     |
[INFO] [stdout] 276 ~         const ARRAY_REPEAT_VALUE: Element = Self::new(0);
[INFO] [stdout] 277 ~         let mut all_products = [[ARRAY_REPEAT_VALUE; 256]; 256];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Element: Copy` is not satisfied
[INFO] [stdout]    --> src/galois_field_256.rs:323:33
[INFO] [stdout]     |
[INFO] [stdout] 323 |         let mut all_inverses = [None; 256];
[INFO] [stdout]     |                                 ^^^^ the trait `Copy` is not implemented for `Element`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `Option<Element>` to implement `Copy`
[INFO] [stdout]     = note: the `Copy` trait is required because this value will be copied for each element of the array
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Copy)]`
[INFO] [stdout]     |
[INFO] [stdout] 94  + #[derive(Copy)]
[INFO] [stdout] 95  | pub struct Element(u8);
[INFO] [stdout]     |
[INFO] [stdout] help: consider creating a new `const` item and initializing it with the result of the constructor to be used in the repeat position
[INFO] [stdout]     |
[INFO] [stdout] 323 ~         const ARRAY_REPEAT_VALUE: Option<_> = None;
[INFO] [stdout] 324 ~         let mut all_inverses = [ARRAY_REPEAT_VALUE; 256];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Element: Copy` is not satisfied
[INFO] [stdout]    --> src/galois_field_256.rs:349:32
[INFO] [stdout]     |
[INFO] [stdout] 349 |         let mut all_powers = [[Self::new(0); 256]; 256];
[INFO] [stdout]     |                                ^^^^^^^^^^^^ the trait `Copy` is not implemented for `Element`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the `Copy` trait is required because this value will be copied for each element of the array
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Copy)]`
[INFO] [stdout]     |
[INFO] [stdout] 94  + #[derive(Copy)]
[INFO] [stdout] 95  | pub struct Element(u8);
[INFO] [stdout]     |
[INFO] [stdout] help: consider creating a new `const` item and initializing it with the result of the function call to be used in the repeat position
[INFO] [stdout]     |
[INFO] [stdout] 349 ~         const ARRAY_REPEAT_VALUE: Element = Self::new(0);
[INFO] [stdout] 350 ~         let mut all_powers = [[ARRAY_REPEAT_VALUE; 256]; 256];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `Vec<Element>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/polynomials.rs:39:32
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 self.0 = rhs.0.clone();
[INFO] [stdout]    |                                ^^^^^ method cannot be called on `Vec<Element>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/galois_field_256.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Element(u8);
[INFO] [stdout]    | ------------------ doesn't satisfy `Element: Clone`
[INFO] [stdout]   --> /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/vec/mod.rs:398:1
[INFO] [stdout]    |
[INFO] [stdout]    = note: doesn't satisfy `Vec<Element>: Clone`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Element: Clone`
[INFO] [stdout]            which is required by `Vec<Element>: Clone`
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Clone)]`
[INFO] [stdout]   --> src/galois_field_256.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 + #[derive(Clone)]
[INFO] [stdout] 95 | pub struct Element(u8);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `resize` exists for struct `Vec<Element>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/polynomials.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     self.0.resize(rhs_degree + 1, Elt::new(0));
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/galois_field_256.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Element(u8);
[INFO] [stdout]    | ------------------ doesn't satisfy `Element: Clone`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Element: Clone`
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Clone)]`
[INFO] [stdout]   --> src/galois_field_256.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 + #[derive(Clone)]
[INFO] [stdout] 95 | pub struct Element(u8);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/polynomials.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut ret: GF256Polynomial = self.clone();
[INFO] [stdout]     |                      ---------------   ^^^^^^^^^^^^ expected `GF256Polynomial`, found `&GF256Polynomial`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      expected due to this
[INFO] [stdout]     |
[INFO] [stdout] note: `GF256Polynomial` does not implement `Clone`, so `&GF256Polynomial` was cloned instead
[INFO] [stdout]    --> src/polynomials.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut ret: GF256Polynomial = self.clone();
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] help: consider annotating `GF256Polynomial` with `#[derive(Clone)]`
[INFO] [stdout]     |
[INFO] [stdout] 24  + #[derive(Clone)]
[INFO] [stdout] 25  | pub struct GF256Polynomial(Vec<Elt>);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/polynomials.rs:174:40
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut ret: GF256Polynomial = self.clone();
[INFO] [stdout]     |                      ---------------   ^^^^^^^^^^^^ expected `GF256Polynomial`, found `&GF256Polynomial`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      expected due to this
[INFO] [stdout]     |
[INFO] [stdout] note: `GF256Polynomial` does not implement `Clone`, so `&GF256Polynomial` was cloned instead
[INFO] [stdout]    --> src/polynomials.rs:174:40
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut ret: GF256Polynomial = self.clone();
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] help: consider annotating `GF256Polynomial` with `#[derive(Clone)]`
[INFO] [stdout]     |
[INFO] [stdout] 24  + #[derive(Clone)]
[INFO] [stdout] 25  | pub struct GF256Polynomial(Vec<Elt>);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Element`
[INFO] [stdout]    --> src/polynomials.rs:189:19
[INFO] [stdout]     |
[INFO] [stdout] 189 |         if factor == Elt::ZERO {
[INFO] [stdout]     |            ------ ^^ --------- Element
[INFO] [stdout]     |            |
[INFO] [stdout]     |            Element
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Element`
[INFO] [stdout]    --> src/galois_field_256.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout] 94  | pub struct Element(u8);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Element` with `#[derive(PartialEq)]`
[INFO] [stdout]    --> src/galois_field_256.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout] 94  + #[derive(PartialEq)]
[INFO] [stdout] 95  | pub struct Element(u8);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0368]: binary assignment operation `*=` cannot be applied to type `&GF256Polynomial`
[INFO] [stdout]    --> src/polynomials.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         result *= factor;
[INFO] [stdout]     |         ------^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         cannot use `*=` on type `&GF256Polynomial`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/polynomials.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn mul(self, factor: Elt) -> GF256Polynomial {
[INFO] [stdout]     |                                  --------------- expected `GF256Polynomial` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 216 |         result
[INFO] [stdout]     |         ^^^^^^ expected `GF256Polynomial`, found `&GF256Polynomial`
[INFO] [stdout]     |
[INFO] [stdout] note: `GF256Polynomial` does not implement `Clone`, so `&GF256Polynomial` was cloned instead
[INFO] [stdout]    --> src/polynomials.rs:214:26
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut result = self.clone();
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] help: consider annotating `GF256Polynomial` with `#[derive(Clone)]`
[INFO] [stdout]     |
[INFO] [stdout] 24  + #[derive(Clone)]
[INFO] [stdout] 25  | pub struct GF256Polynomial(Vec<Elt>);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Element: Clone` is not satisfied
[INFO] [stdout]    --> src/polynomials.rs:241:24
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 result.resize(product_degree + 1, Elt::new(0));
[INFO] [stdout]     |                        ^^^^^^ the trait `Clone` is not implemented for `Element`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `Vec::<T, A>::resize`
[INFO] [stdout]    --> /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/vec/mod.rs:2447:5
[INFO] [stdout] help: consider annotating `Element` with `#[derive(Clone)]`
[INFO] [stdout]    --> src/galois_field_256.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout] 94  + #[derive(Clone)]
[INFO] [stdout] 95  | pub struct Element(u8);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for mutable reference `&mut GF256Polynomial` in the current scope
[INFO] [stdout]    --> src/polynomials.rs:278:23
[INFO] [stdout]     |
[INFO] [stdout] 278 |         *self = &self.clone() * rhs;
[INFO] [stdout]     |                       ^^^^^ method not found in `&mut GF256Polynomial`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the trait `Clone` defines an item `clone`, but is explicitly unimplemented
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_args` found for enum `ShamirMainCommand` in the current scope
[INFO] [stdout]    --> src/main.rs:333:40
[INFO] [stdout]     |
[INFO] [stdout] 63  | enum ShamirMainCommand {
[INFO] [stdout]     | ---------------------- variant or associated item `from_args` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 333 |     let operation = ShamirMainCommand::from_args();
[INFO] [stdout]     |                                        ^^^^^^^^^ variant or associated item not found in `ShamirMainCommand`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `from_args`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `StructOpt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `structopt::StructOpt`
[INFO] [stdout]    --> src/main.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | use structopt::StructOpt;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 23 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0368, E0369, E0554, E0557, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shamir_file_secret_sharing` (bin "shamir_file_secret_sharing") due to 24 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "ebb896bd96996bb4558a545ddd10f7c34401457637d91cb3312abdf5d6a59a58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebb896bd96996bb4558a545ddd10f7c34401457637d91cb3312abdf5d6a59a58", kill_on_drop: false }`
[INFO] [stdout] ebb896bd96996bb4558a545ddd10f7c34401457637d91cb3312abdf5d6a59a58
