rust-embedded / nb

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

Ship a 1.0 release #20

Closed thejpster closed 4 years ago

thejpster commented 4 years ago

Part of https://github.com/rust-embedded/wg/issues/383

Add blocking issues here:

hannobraun commented 4 years ago

I guess the main blocking issue would be, whether this crate offers the right approach at all, and whether/how it needs to change (or be discarded completely) in the face of the async stuff that already landed in Rust, and is yet to come. See https://github.com/japaric/nb/issues/14, https://github.com/rust-embedded/embedded-hal/issues/149, and https://github.com/rust-embedded/embedded-hal/issues/172.

eldruin commented 4 years ago

I would nominate #22 for this.

eldruin commented 4 years ago

Further TODOs:

jonas-schievink commented 4 years ago
  • [ ] Remove unstable feature
  • [ ] Only include await! in Rust nightly via build.rs?

I prefer the current approach of having to opt into unstable features. It mirrors how unstable features in Rust work, and if we automatically enable unstable feature for nightly Rust versions people could accidentally start using an unstable feature in this library just because their installation happens to default to the nightly Rust channel (which is a reasonable thing to do in order to use unstable compiler flags and benefit from recent performance improvements, etc.).