Hey all! Just wanted to share a little fun side project I’ve been working on recently. It’s an ecosystem similar to smol for writing async rust code, but the internals make no use of unsafe at all

repos:

  • async-join: a safe join_all function for Vec<Future>
  • polldance: a safe polling library built on unix poll with rustix for memory & io safety
  • foxtrot: a safe async reactor bulit on polldance and rustix
  • jitterbug: a safe async executor with multi-threaded work-stealing support

I’m not here to say “you should definitely use this” because I’ve wirtten zero tests, and I’ve made no effort to implement standard apis like AsyncRead, AsyncWrite, etc, but I wanted to show it is possible to build these things yourself

Shoutout to rustix for making socket programming safe and easy