rust-embedded / nb

Minimal and reusable non-blocking I/O layer
Apache License 2.0
88 stars 15 forks source link

Release on crates.io #9

Closed hannobraun closed 6 years ago

hannobraun commented 6 years ago

What's currently blocking the release of this crate on crates.io?

japaric commented 6 years ago

I'd like to see the futures / generator macros get some non-toy (ideally, third party (*)) use in the wild before pulling the trigger on this. I think the block! macro has proven itself by now.

(*) I seem to only ever write blocking or reactive no_std code. I think the examples here are the only cooperative style no_std code I've ever written (modulo feasibilty experiments).

hannobraun commented 6 years ago

Makes sense. I've also only used block! and ad-hock asynchronous code (i.e. no futures, generators) so far. I plan to look into generators when I can, but it's not a priority right now.

japaric commented 6 years ago

I think it would make sense to make a release with just nb::Error and block! as they are already useful on their own. The other macros could be behing a Cargo feature or not present at all in that release.

hannobraun commented 6 years ago

I was thinking the same thing. Unless someone else does it first, I was planning to submit a pull request to that effect (hiding the unproven stuff behind a feature).

However, I don't expect to get much more work done this year, and I have some scheduling insecurity in January. If I don't manage to submit this pull request in early January, I may not have time anytime soon. So if anyone else is interested in picking this up, please do.