Skip to content

elliptic-curve: fix minimal-versions check#2414

Merged
tarcieri merged 1 commit into
masterfrom
elliptic-curve/fix-minimal-versions
May 12, 2026
Merged

elliptic-curve: fix minimal-versions check#2414
tarcieri merged 1 commit into
masterfrom
elliptic-curve/fix-minimal-versions

Conversation

@tarcieri
Copy link
Copy Markdown
Member

The issue as reported in #2413 is buried deep in the transitive dependencies of bitvec which is in turn a transitive dependency of ff, so it's a bit annoying to debug.

It turns out to be wyz does not correctly specify the version of tap it needs: it needs 1.0.1 but asks for 1 (I feel like I've probably encountered this before)

Sidebar: alternatively we could drop the bits feature. I'm not sure if anyone's actually using it and I suppose I could look into that, but bitvec development seems stalled at this point and asking about it on Zulip's #t-opsem channel did not inspire confidence for cryptographic applications.

The issue as reported in #2413 is buried deep in the transitive
dependencies of `bitvec` which is in turn a transitive dependency of
`ff`, so it's a bit annoying to debug.

It turns out to be `wyz` does not correctly specify the version of `tap`
it needs: it needs 1.0.1 but asks for 1 (I feel like I've probably
encountered this before)

Sidebar: alternatively we could drop the `bits` feature. I'm not sure if
anyone's actually using it and I suppose I could look into that, but
`bitvec` development seems stalled at this point and asking about it on
Zulip's #t-opsem channel did not inspire confidence for cryptographic
applications.
@tarcieri tarcieri merged commit 5debc66 into master May 12, 2026
86 checks passed
@tarcieri tarcieri deleted the elliptic-curve/fix-minimal-versions branch May 12, 2026 14:14
@newpavlov
Copy link
Copy Markdown
Member

newpavlov commented May 12, 2026

IMO it's probably worth to trim the elliptic-curve's dependency tree in the next-next breaking release (i.e. v0.15).

tarcieri added a commit that referenced this pull request May 12, 2026
I was not able to find any users of it searching GitHub.

This feature is backed by `bitvec` which both has a high number of
transitive dependencies which have been minorly problematic (#2414),
but also my understanding based on Zulip discussions on #t-opsem is that
`bitvec` is not sound under either stacked or tree borrows, which makes
it a bit worrisome for use in cryptographic applications.

We can always add the feature back if it turns out there are users, but
if not it seems like it's not worth the maintenance burden.
tarcieri added a commit that referenced this pull request May 12, 2026
I was not able to find any users of it searching GitHub.

This feature is backed by `bitvec` which both has a high number of
transitive dependencies which have been minorly problematic (#2414), but
also my understanding based on Zulip discussions on #t-opsem is that
`bitvec` is not sound under either stacked or tree borrows, which makes
it a bit worrisome for use in cryptographic applications.

We can always add the feature back if it turns out there are users, but
if not it seems like it's not worth the maintenance burden.
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

Successfully merging this pull request may close these issues.

2 participants