pubgrub-rs / pubgrub

PubGrub version solving algorithm implemented in Rust
https://pubgrub-rs.github.io/pubgrub/pubgrub/
Mozilla Public License 2.0
337 stars 30 forks source link

Adds optional async interface #126

Closed xfbs closed 1 year ago

xfbs commented 1 year ago

Hey!

In reference to #110, this adds an optional async feature which, when enabled, enables the AsyncDependencyProvider trait.

This PR also cleans up the resolver code somewhat (I like it when code is not nested too deeply, as it makes it easier for me to follow).

mpizenberg commented 1 year ago

Cool! I didn’t know async trait was a thing yet. Would you mind splitting this PR in 2? So we can easily review first the code cleanup, then the async one?

xfbs commented 1 year ago

For sure! Sounds like a good idea. I'll pull the refactoring out into a separate PR. Will also add some tests for the async stuff in here.

mpizenberg commented 1 year ago

Also, this would need to PR against the dev branch, not the release one.

xfbs commented 1 year ago

Ha! I did not even know there was a dev branch (used to PRing against master with a stable branch for the release, hehe).