[INFO] fetching crate frost-dkg 0.6.0...
[INFO] checking frost-dkg-0.6.0 against e3607d549209cc9fdfe7e907123b4185210e2c2b for pr-158915
[INFO] extracting crate frost-dkg 0.6.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate frost-dkg 0.6.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate frost-dkg 0.6.0
[INFO] tweaked toml for crates.io crate frost-dkg 0.6.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate frost-dkg 0.6.0 on toolchain e3607d549209cc9fdfe7e907123b4185210e2c2b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e3607d549209cc9fdfe7e907123b4185210e2c2b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate frost-dkg 0.6.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" "+e3607d549209cc9fdfe7e907123b4185210e2c2b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: explicit `package.readme` can be inferred
[INFO] [stderr]    --> Cargo.toml:152:1
[INFO] [stderr]     |
[INFO] [stderr] 152 | readme = "README.md"
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `frost-dkg` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 885d29ba052974aafee0d4ed05042eaeb178699b55aea8d9871561023d905be9
[INFO] running `Command { std: "docker" "start" "885d29ba052974aafee0d4ed05042eaeb178699b55aea8d9871561023d905be9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "885d29ba052974aafee0d4ed05042eaeb178699b55aea8d9871561023d905be9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "885d29ba052974aafee0d4ed05042eaeb178699b55aea8d9871561023d905be9" "/opt/rustwide/cargo-home/bin/cargo" "+e3607d549209cc9fdfe7e907123b4185210e2c2b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "885d29ba052974aafee0d4ed05042eaeb178699b55aea8d9871561023d905be9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "885d29ba052974aafee0d4ed05042eaeb178699b55aea8d9871561023d905be9" "/opt/rustwide/cargo-home/bin/cargo" "+e3607d549209cc9fdfe7e907123b4185210e2c2b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: explicit `package.readme` can be inferred
[INFO] [stderr]    --> Cargo.toml:152:1
[INFO] [stderr]     |
[INFO] [stderr] 152 | readme = "README.md"
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `frost-dkg` (manifest) generated 1 warning
[INFO] [stderr]    Compiling heapless v0.9.3
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]     Checking ff v0.14.0
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling rstest_macros v0.26.1
[INFO] [stderr]    Compiling curve25519-dalek v5.0.0
[INFO] [stderr]     Checking generic-array v1.4.3
[INFO] [stderr]     Checking getrandom v0.4.3
[INFO] [stderr]     Checking rand_chacha v0.10.0
[INFO] [stderr]     Checking group v0.14.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand v0.10.2
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking thiserror v2.0.19
[INFO] [stderr]     Checking cobs v0.3.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking serdect v0.4.3
[INFO] [stderr]     Checking postcard v1.1.3
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]     Checking hybrid-array v0.4.13
[INFO] [stderr]     Checking der v0.8.0
[INFO] [stderr]     Checking generic-array v0.14.9
[INFO] [stderr]     Checking merlin v3.0.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]     Checking crypto-bigint v0.7.5
[INFO] [stderr]     Checking wnaf v0.14.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking spki v0.8.0
[INFO] [stderr]     Checking sec1 v0.8.1
[INFO] [stderr]     Checking pkcs8 v0.11.0
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking signature v3.0.0
[INFO] [stderr]     Checking sha3 v0.12.0
[INFO] [stderr]     Checking shake v0.1.0
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking rstest v0.26.1
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking elliptic-curve v0.14.1
[INFO] [stderr]     Checking primefield v0.14.0
[INFO] [stderr]     Checking hash2curve v0.14.0
[INFO] [stderr]     Checking elliptic-curve-tools v0.3.0
[INFO] [stderr]     Checking primeorder v0.14.0
[INFO] [stderr]     Checking ed448-goldilocks-plus v0.18.0
[INFO] [stderr]     Checking bls12_381_plus v0.9.0
[INFO] [stderr]     Checking vsss-rs v6.0.1
[INFO] [stderr]     Checking blstrs_plus v0.9.0
[INFO] [stderr]     Checking p256 v0.14.0
[INFO] [stderr]     Checking k256 v0.14.0
[INFO] [stderr]     Checking p384 v0.14.0
[INFO] [stderr]     Checking frost-dkg v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0038]: the trait `participant::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> src/lib.rs:320:34
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let participant: Box<dyn AnyParticipant<k256::ProjectivePoint>> =
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `participant::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> src/participant.rs:660:11
[INFO] [stdout]     |
[INFO] [stdout] 660 | pub trait AnyParticipant<G>: Send + Sync + Debug
[INFO] [stdout]     |           -------------- this trait is not dyn compatible...
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:42
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             ...because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             ...because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as elliptic_curve::Group>::Scalar>>::Output == <G as elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trivial numeric cast: `u64` as `u64`
[INFO] [stdout]    --> src/lib.rs:291:66
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 let id = IdentifierPrimeField(k256::Scalar::from(id as u64));
[INFO] [stdout]     |                                                                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: cast can be replaced by coercion; this might require a temporary variable
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:15:5
[INFO] [stdout]     |
[INFO] [stdout]  15 |     trivial_numeric_casts,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:462:15
[INFO] [stdout]     |
[INFO] [stdout] 462 | ) -> (Vec<Box<dyn AnyParticipant<G>>>, <G as Group>::Scalar)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:713:44
[INFO] [stdout]     |
[INFO] [stdout] 713 | fn five_participants_init<G>() -> (Vec<Box<dyn AnyParticipant<G>>>, <G as Group>::Scalar)
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1175:42
[INFO] [stdout]      |
[INFO] [stdout] 1175 | fn next_round<G>(participants: &mut [Box<dyn AnyParticipant<G>>]) -> Vec<RoundOutputGenerator<G>>
[INFO] [stdout]      |                                          ^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1189:29
[INFO] [stdout]      |
[INFO] [stdout] 1189 |     participants: &mut [Box<dyn AnyParticipant<G>>],
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]   --> tests/happy_path.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     static_numbering_init_dkg::<G>(rng);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |              |                           |
[INFO] [stdout]    |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout] 45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout] 66 |     + Neg<Output = Self>
[INFO] [stdout]    |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 |     + Neg<Output = Self>
[INFO] [stdout]    |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 54 |     + Add<Output = Self>
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 55 |     + Sub<Output = Self>
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 56 |     + Mul<Output = Self>
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout] 59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]    |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:118:34
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let (participants, secret) = static_numbering_init_dkg::<G>(&mut rng);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:122:33
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                                 ^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:122:40
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                                        ^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:122:45
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                                             ^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:131:36
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let mut participants: [Box<dyn AnyParticipant<G>>; 7] = [
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 participants[0].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:135:18
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 &participants[0].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:137:49
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 &ReconstructionSet::new(&pids[..participants.len()]).unwrap(),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:137:62
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 &ReconstructionSet::new(&pids[..participants.len()]).unwrap(),
[INFO] [stdout]     |                                                              ^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 participants[1].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 &participants[1].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:146:49
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 &ReconstructionSet::new(&pids[..participants.len()]).unwrap(),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:146:62
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 &ReconstructionSet::new(&pids[..participants.len()]).unwrap(),
[INFO] [stdout]     |                                                              ^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:152:17
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 participants[2].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:153:18
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 &participants[2].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:155:49
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 &ReconstructionSet::new(&pids[..participants.len()]).unwrap(),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:155:62
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 &ReconstructionSet::new(&pids[..participants.len()]).unwrap(),
[INFO] [stdout]     |                                                              ^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |                 participants[3].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:162:18
[INFO] [stdout]     |
[INFO] [stdout] 162 |                 &participants[3].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:164:49
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 &ReconstructionSet::new(&pids[..participants.len()]).unwrap(),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:164:62
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 &ReconstructionSet::new(&pids[..participants.len()]).unwrap(),
[INFO] [stdout]     |                                                              ^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 participants[4].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:171:18
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 &participants[4].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0038`.
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:173:49
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 &ReconstructionSet::new(&pids[..participants.len()]).unwrap(),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:173:62
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 &ReconstructionSet::new(&pids[..participants.len()]).unwrap(),
[INFO] [stdout]     |                                                              ^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:182:43
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let round_generators = next_round(&mut participants);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 183 |         receive(&mut participants, &round_generators);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `frost-dkg` (lib test) due to 1 previous error; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:217:34
[INFO] [stdout]     |
[INFO] [stdout] 217 |     let (participants, secret) = static_numbering_init_dkg::<G>(&mut rng);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |         participants[0].id(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |         participants[2].id(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         participants[4].id(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:232:36
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let mut participants: [Box<dyn AnyParticipant<G>>; 3] = [
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:236:18
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 &participants[0].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:245:18
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 &participants[2].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:254:18
[INFO] [stdout]     |
[INFO] [stdout] 254 |                 &participants[4].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:263:43
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let round_generators = next_round(&mut participants);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:264:17
[INFO] [stdout]     |
[INFO] [stdout] 264 |         receive(&mut participants, &round_generators);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:299:34
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let (participants, secret) = static_numbering_init_dkg::<G>(&mut rng);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:304:9
[INFO] [stdout]     |
[INFO] [stdout] 304 |         participants[1].id(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |         participants[2].id(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 306 |         participants[3].id(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:316:36
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let mut participants: [Box<dyn AnyParticipant<G>>; 4] = [
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:320:18
[INFO] [stdout]     |
[INFO] [stdout] 320 |                 &participants[1].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:329:18
[INFO] [stdout]     |
[INFO] [stdout] 329 |                 &participants[2].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:338:18
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 &participants[3].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:348:43
[INFO] [stdout]     |
[INFO] [stdout] 348 |         let round_generators = next_round(&mut participants);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:349:17
[INFO] [stdout]     |
[INFO] [stdout] 349 |         receive(&mut participants, &round_generators);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:383:34
[INFO] [stdout]     |
[INFO] [stdout] 383 |     let (participants, secret) = static_numbering_init_dkg::<G>(&mut rng);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:388:9
[INFO] [stdout]     |
[INFO] [stdout] 388 |         participants[1].id(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:389:9
[INFO] [stdout]     |
[INFO] [stdout] 389 |         participants[2].id(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:390:9
[INFO] [stdout]     |
[INFO] [stdout] 390 |         participants[4].id(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:401:36
[INFO] [stdout]     |
[INFO] [stdout] 401 |     let mut participants: [Box<dyn AnyParticipant<G>>; 6] = [
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:405:18
[INFO] [stdout]     |
[INFO] [stdout] 405 |                 &participants[1].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:414:18
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 &participants[2].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:423:18
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 &participants[4].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:435:43
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let round_generators = next_round(&mut participants);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:436:17
[INFO] [stdout]     |
[INFO] [stdout] 436 |         receive(&mut participants, &round_generators);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:487:26
[INFO] [stdout]     |
[INFO] [stdout] 487 |             p as Box<dyn AnyParticipant<G>>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:492:43
[INFO] [stdout]     |
[INFO] [stdout] 492 |         let round_generators = next_round(&mut participants);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:493:17
[INFO] [stdout]     |
[INFO] [stdout] 493 |         receive(&mut participants, &round_generators);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:529:5
[INFO] [stdout]     |
[INFO] [stdout] 529 |     five_participants_init::<G>();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:544:34
[INFO] [stdout]     |
[INFO] [stdout] 544 |     let (participants, secret) = five_participants_init::<G>();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:548:16
[INFO] [stdout]     |
[INFO] [stdout] 548 |     let pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:548:29
[INFO] [stdout]     |
[INFO] [stdout] 548 |     let pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                             ^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:548:16
[INFO] [stdout]     |
[INFO] [stdout] 548 |     let pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:548:36
[INFO] [stdout]     |
[INFO] [stdout] 548 |     let pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                                    ^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:548:41
[INFO] [stdout]     |
[INFO] [stdout] 548 |     let pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                                         ^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:555:36
[INFO] [stdout]     |
[INFO] [stdout] 555 |     let mut participants: [Box<dyn AnyParticipant<G>>; 5] = [
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:558:17
[INFO] [stdout]     |
[INFO] [stdout] 558 |                 participants[0].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:559:17
[INFO] [stdout]     |
[INFO] [stdout] 559 |                 participants[0].secret_share().as_ref(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:566:17
[INFO] [stdout]     |
[INFO] [stdout] 566 |                 participants[1].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:567:17
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 participants[1].secret_share().as_ref(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:574:17
[INFO] [stdout]     |
[INFO] [stdout] 574 |                 participants[2].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:575:17
[INFO] [stdout]     |
[INFO] [stdout] 575 |                 participants[2].secret_share().as_ref(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:582:17
[INFO] [stdout]     |
[INFO] [stdout] 582 |                 participants[3].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:583:17
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 participants[3].secret_share().as_ref(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:590:17
[INFO] [stdout]     |
[INFO] [stdout] 590 |                 participants[4].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:591:17
[INFO] [stdout]     |
[INFO] [stdout] 591 |                 participants[4].secret_share().as_ref(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:599:43
[INFO] [stdout]     |
[INFO] [stdout] 599 |         let round_generators = next_round(&mut participants);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:600:17
[INFO] [stdout]     |
[INFO] [stdout] 600 |         receive(&mut participants, &round_generators);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:734:26
[INFO] [stdout]     |
[INFO] [stdout] 734 |             p as Box<dyn AnyParticipant<G>>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:739:43
[INFO] [stdout]     |
[INFO] [stdout] 739 |         let round_generators = next_round(&mut participants);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:740:17
[INFO] [stdout]     |
[INFO] [stdout] 740 |         receive(&mut participants, &round_generators);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:790:34
[INFO] [stdout]     |
[INFO] [stdout] 790 |     let (participants, secret) = five_participants_init::<G>();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:798:16
[INFO] [stdout]     |
[INFO] [stdout] 798 |     let pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:798:29
[INFO] [stdout]     |
[INFO] [stdout] 798 |     let pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                             ^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:798:16
[INFO] [stdout]     |
[INFO] [stdout] 798 |     let pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:798:36
[INFO] [stdout]     |
[INFO] [stdout] 798 |     let pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                                    ^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:798:41
[INFO] [stdout]     |
[INFO] [stdout] 798 |     let pids = participants.iter().map(|p| p.id()).collect::<Vec<_>>();
[INFO] [stdout]     |                                         ^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:812:36
[INFO] [stdout]     |
[INFO] [stdout] 812 |     let mut participants: [Box<dyn AnyParticipant<G>>; 7] = [
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:815:17
[INFO] [stdout]     |
[INFO] [stdout] 815 |                 participants[0].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:816:18
[INFO] [stdout]     |
[INFO] [stdout] 816 |                 &participants[0].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:824:17
[INFO] [stdout]     |
[INFO] [stdout] 824 |                 participants[1].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:825:18
[INFO] [stdout]     |
[INFO] [stdout] 825 |                 &participants[1].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:833:17
[INFO] [stdout]     |
[INFO] [stdout] 833 |                 participants[2].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:834:18
[INFO] [stdout]     |
[INFO] [stdout] 834 |                 &participants[2].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:842:17
[INFO] [stdout]     |
[INFO] [stdout] 842 |                 participants[3].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:843:18
[INFO] [stdout]     |
[INFO] [stdout] 843 |                 &participants[3].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:851:17
[INFO] [stdout]     |
[INFO] [stdout] 851 |                 participants[4].id(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:852:18
[INFO] [stdout]     |
[INFO] [stdout] 852 |                 &participants[4].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:877:43
[INFO] [stdout]     |
[INFO] [stdout] 877 |         let round_generators = next_round(&mut participants);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:878:17
[INFO] [stdout]     |
[INFO] [stdout] 878 |         receive(&mut participants, &round_generators);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:910:34
[INFO] [stdout]     |
[INFO] [stdout] 910 |     let (participants, secret) = five_participants_init::<G>();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:925:36
[INFO] [stdout]     |
[INFO] [stdout] 925 |     let mut participants: [Box<dyn AnyParticipant<G>>; 3] = [
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:929:18
[INFO] [stdout]     |
[INFO] [stdout] 929 |                 &participants[0].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:938:18
[INFO] [stdout]     |
[INFO] [stdout] 938 |                 &participants[2].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:947:18
[INFO] [stdout]     |
[INFO] [stdout] 947 |                 &participants[3].secret_share().unwrap(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:956:43
[INFO] [stdout]     |
[INFO] [stdout] 956 |         let round_generators = next_round(&mut participants);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:957:17
[INFO] [stdout]     |
[INFO] [stdout] 957 |         receive(&mut participants, &round_generators);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]    --> tests/happy_path.rs:989:34
[INFO] [stdout]     |
[INFO] [stdout] 989 |     let (participants, secret) = five_participants_init::<G>();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]     |
[INFO] [stdout]  31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |                           |
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  66 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]     |
[INFO] [stdout]  53 |     + Neg<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  54 |     + Add<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  55 |     + Sub<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  56 |     + Mul<Output = Self>
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]  59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]  61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]     |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1000:9
[INFO] [stdout]      |
[INFO] [stdout] 1000 |         participants[1].id(),
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1001:9
[INFO] [stdout]      |
[INFO] [stdout] 1001 |         participants[2].id(),
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1002:9
[INFO] [stdout]      |
[INFO] [stdout] 1002 |         participants[3].id(),
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1005:36
[INFO] [stdout]      |
[INFO] [stdout] 1005 |     let mut participants: [Box<dyn AnyParticipant<G>>; 4] = [
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1009:18
[INFO] [stdout]      |
[INFO] [stdout] 1009 |                 &participants[1].secret_share().unwrap(),
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1018:18
[INFO] [stdout]      |
[INFO] [stdout] 1018 |                 &participants[2].secret_share().unwrap(),
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1027:18
[INFO] [stdout]      |
[INFO] [stdout] 1027 |                 &participants[3].secret_share().unwrap(),
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1044:43
[INFO] [stdout]      |
[INFO] [stdout] 1044 |         let round_generators = next_round(&mut participants);
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1045:17
[INFO] [stdout]      |
[INFO] [stdout] 1045 |         receive(&mut participants, &round_generators);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1075:34
[INFO] [stdout]      |
[INFO] [stdout] 1075 |     let (participants, secret) = five_participants_init::<G>();
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1084:9
[INFO] [stdout]      |
[INFO] [stdout] 1084 |         participants[1].id(),
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1085:9
[INFO] [stdout]      |
[INFO] [stdout] 1085 |         participants[2].id(),
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1086:9
[INFO] [stdout]      |
[INFO] [stdout] 1086 |         participants[4].id(),
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1090:36
[INFO] [stdout]      |
[INFO] [stdout] 1090 |     let mut participants: [Box<dyn AnyParticipant<G>>; 6] = [
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1094:18
[INFO] [stdout]      |
[INFO] [stdout] 1094 |                 &participants[1].secret_share().unwrap(),
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1103:18
[INFO] [stdout]      |
[INFO] [stdout] 1103 |                 &participants[2].secret_share().unwrap(),
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1112:18
[INFO] [stdout]      |
[INFO] [stdout] 1112 |                 &participants[4].secret_share().unwrap(),
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1145:43
[INFO] [stdout]      |
[INFO] [stdout] 1145 |         let round_generators = next_round(&mut participants);
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1146:17
[INFO] [stdout]      |
[INFO] [stdout] 1146 |         receive(&mut participants, &round_generators);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1180:51
[INFO] [stdout]      |
[INFO] [stdout] 1180 |     let mut round_generators = Vec::with_capacity(participants.len());
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1180:64
[INFO] [stdout]      |
[INFO] [stdout] 1180 |     let mut round_generators = Vec::with_capacity(participants.len());
[INFO] [stdout]      |                                                                ^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1181:24
[INFO] [stdout]      |
[INFO] [stdout] 1181 |     for participant in participants {
[INFO] [stdout]      |                        ^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1181:24
[INFO] [stdout]      |
[INFO] [stdout] 1181 |     for participant in participants {
[INFO] [stdout]      |                        ^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.14.0/src/lib.rs:31:14
[INFO] [stdout]      |
[INFO] [stdout]   31 |     Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^^
[INFO] [stdout]      |              |                           |
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              |                           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |              the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   45 | pub trait ScalarMul<Rhs, Output = Self>: Mul<Rhs, Output = Output> + MulAssign<Rhs> {}
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                                                   the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   66 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.14.0/src/lib.rs:53:11
[INFO] [stdout]      |
[INFO] [stdout]   53 |     + Neg<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^ the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Neg>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Neg>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   54 |     + Add<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   55 |     + Sub<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   56 |     + Mul<Output = Self>
[INFO] [stdout]      |           ^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |           the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `<<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] ...
[INFO] [stdout]   59 |     + for<'a> Add<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Add<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Add>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Add<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   60 |     + for<'a> Sub<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Sub<&'r G>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Sub>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Sub<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]   61 |     + for<'a> Mul<&'a Self, Output = Self>
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `for<'r> <G as std::ops::Mul<&'r <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout]      |                             the trait is not dyn compatible because it has conflicting associated item bounds for `Output` in supertraits: `<G as std::ops::Mul<<G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == G` and `for<'a> <<G as frost_dkg::elliptic_curve::Group>::Scalar as std::ops::Mul<&'a <G as frost_dkg::elliptic_curve::Group>::Scalar>>::Output == <G as frost_dkg::elliptic_curve::Group>::Scalar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]     --> tests/happy_path.rs:1203:40
[INFO] [stdout]      |
[INFO] [stdout] 1203 |             if let Some(participant) = participants.get_mut(ordinal) {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `frost_dkg::AnyParticipant` is not dyn compatible
[INFO] [stdout]      |
[WARN] too many lines in the log, truncating it
