identity.rs icon indicating copy to clipboard operation
identity.rs copied to clipboard

[Task] Investigate `bls12_381_plus` dependency type incompatibility

Open eike-hass opened this issue 8 months ago • 2 comments

Description

The 0.8.16 version of bls12_381_plus introduces changes to type conversion that may break builds due to conflicting implementations of From trait.

error[E0119]: conflicting implementations of trait `From<bls12_381_plus::scalar::Scalar>` for type `Issuer`
  --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/identity_credential-1.3.0/src/credential/issuer.rs:43:1
   |
43 | / impl<T> From<T> for Issuer
44 | | where
45 | |   T: Into<Url>,
   | |_______________^
   |
   = note: conflicting implementation in crate `bls12_381_plus`:
           - impl From<bls12_381_plus::scalar::Scalar> for <bls12_381_plus::scalar::Scalar as ark_ff::fields::prime::PrimeField>::BigInt;
Pinning this dependency to the previous version hotfixes build issues when used as an indirect dependency here (via [zkryptium](https://crates.io/crates/zkryptium)).

Version should be able to opened up in the future. Pin implemented in #1278

Change checklist

Add an x to the boxes that are relevant to your changes, and delete any items that are not.

  • [ ] The feature or fix is implemented in Rust and across all bindings whereas possible.
  • [ ] The feature or fix has sufficient testing coverage
  • [ ] All tests and examples build and run locally as expected
  • [ ] Every piece of code has been document according to the documentation guidelines.
  • [ ] If conceptual documentation (mdbook) and examples highlighting the feature exist, they are properly updated.
  • [ ] If the feature is not currently documented, a documentation task Issue has been opened to address this.

eike-hass avatar Jun 12 '24 13:06 eike-hass