Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a draft because it's pointing to a local change to frost-core and reddsa and won't compile for now. I'll create PR for those next.
The fix was very complicated for these reasons:
Send
. That wasn't previously required sincetokio::main
andtokio::test
do not require functions to beSend
. However, requiringSend
cascades through all the program. In particular,Scalar
andElement
are notSend
because those are traits andSend
was not in their trait bounds (this will require a new PR infrost
). But even fixing that, theComms
trait needs to beSend
which requires a lot of the change, and the old CLI code also breaks becauseBufRead
andWrite
are also notSend
. This required changing all CLI code to be async which was a lot of work.LocalSet
but I couldn't get it to work. But even if it did work, anyone usingfrost-core
with async Rust could face the same problem, so it makes sense to fix this now.