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.
Description
This supersedes #222, which is now kinda outdated.
In this attempt I'm trying to follow what the https://github.com/bodil/im-rs crate did. We can just have two crates; the main one for async, and a separate one for sync. We can keep using
maybe_async
in theory. This is unfortunately a bit confusing but it's the only way to do it. I'm working on a blog post with research about the whole async & sync stuff and I'll post it before this PR is merged to give more context and a full explanation of how it works.Motivation and Context
This closes #221
Dependencies
None
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
An empty project with this
Cargo.toml
will fail:But with this it will work: