Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

primeorder 0.13.4 update breaks p384 0.13.0 builds #984

Closed
cart opened this issue Nov 16, 2023 · 4 comments
Closed

primeorder 0.13.4 update breaks p384 0.13.0 builds #984

cart opened this issue Nov 16, 2023 · 4 comments

Comments

@cart
Copy link

cart commented Nov 16, 2023

The primeorder 0.13.4 update broke p384 v0.13.0 builds. There were changes to p384 on master branch to get it to build with primeorder 0.13.4. primeorder 0.13.4 should probably be yanked to avoid breakage. The dirtier option is doing a 0.13.1 patch release for p384 containing the fix, but this wouldn't help other consumers of primeorder.

This breaks bevy builds so fixing this is a high priority for us.

@tarcieri

@tarcieri
Copy link
Member

What's the build failure?

@cart
Copy link
Author

cart commented Nov 16, 2023

    Compiling p384 v0.13.0
error[E0277]: the trait bound `FieldElement: elliptic_curve::ops::Invert` is not satisfied
  --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/p384-0.13.0/src/arithmetic.rs:40:25
   |
40 |     type FieldElement = FieldElement;
   |                         ^^^^^^^^^^^^ the trait `elliptic_curve::ops::Invert` is not implemented for `FieldElement`
   |
   = help: the following other types implement trait `elliptic_curve::ops::Invert`:
             Scalar
             BlindedScalar<C>
             elliptic_curve::NonZeroScalar<C>
note: required by a bound in `primeorder::PrimeCurveParams::FieldElement`
  --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/primeorder-0.13.4/src/lib.rs:38:11
   |
37 |     type FieldElement: PrimeField<Repr = FieldBytes<Self>>
   |          ------------ required by a bound in this associated type
38 |         + Invert<Output = CtOption<Self::FieldElement>>;
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `PrimeCurveParams::FieldElement`

From our CI builds of cargo-udeps

https://github.com/bevyengine/bevy/actions/runs/6884781565/job/18727900621#step:5:486

@tarcieri
Copy link
Member

Aah, thanks

tarcieri added a commit that referenced this issue Nov 16, 2023
...as an associated type of `PrimeCurveParams`. This was an accidental
breaking change which broke the build for released crates:

#984
tarcieri added a commit that referenced this issue Nov 16, 2023
...as an associated type of `PrimeCurveParams`. This was an accidental
breaking change which broke the build for released crates:

#984
@tarcieri
Copy link
Member

I've released v0.13.6 as a replacement which should hopefully address this problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants