Coder Social home page Coder Social logo

isabella232 / wg-async-foundations Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rust-lang/wg-async

0.0 0.0 0.0 1.21 MB

Working group dedicated to improving the foundations of Async I/O in Rust

Home Page: https://rust-lang.github.io/wg-async-foundations/

License: Apache License 2.0

wg-async-foundations's Introduction

wg-async-foundations

Working group dedicated to improving the foundations of async I/O in Rust

Leads: @tmandry and @nikomatsakis

Getting involved

Our meetings take place at 10:00 AM PST every Friday in our Zulip stream. Feel free to stop by then (or any time!) to introduce yourself.

If you'd like something to work on, check our mentored issues for places to get started. Feel free to claim one of these by adding a comment with the text @rustbot claim.

You can also take a look at our ongoing work to get a sense of what we're up to, and to look for more unclaimed issues you could tackle.

What is the goal of this working group?

This working group is focused around implementation/design of the “foundations” for Async I/O. This includes the async-await language feature but also the core Future trait and adapters.

Current focus

The current focus of the group is polishing the async-await feature and working on the async book.

Overall roadmap and progress

  • ✅ Stabilize the Future trait
  • ✅ Deliver a "minimal viable product" (MVP) introducing async fn inherent functions and async blocks.
  • ⚒️ Polish the async-await feature, improving diagnostics, spurious errors, and other corner cases.
  • ⚒️ Write the async book, which introduces how the core language features in support of Async I/O and teaches you how to use them.

Future areas

Possible future areas for consideration include:

  • Stabilize other core traits in std, such as AsyncRead
  • Support async fn in traits
  • Support async closures (and possibly an AsyncFn trait)
  • Support consuming async streams conveniently (e.g., for await loops or some similar thing)
  • Support authoring async streams conveniently via async generators
  • Support async drop

However, we've decided to largely defer this sort of work until we've finished off more of the polish work on async-await.

Triage meetings

In our weekly triage meetings, we take new issues assigned A-async-await and categorize them. The process is:

  • Review the project board, from right to left:
    • Look at what got Done, and celebrate! 🎉
    • Review In progress issues to check we are making progress and there is a clear path to finishing (otherwise, move to the appropriate column)
    • Review Blocked issues to see if there is anything we can do to unblock
    • Review Claimed issues to see if they are in progress, and if the assigned person still intends to work on it
    • Review To do issues and assign to anyone who wants to work on something
  • Review uncategorized issues
    • Mark P-low, P-medium, or P-high
    • Add P-high and assigned E-needs-mentor issues to the project board
    • Mark AsyncAwait-triaged
  • If there's still a shortage of To do issues, review the list of P-medium or P-low issues for candidates

Mentoring

If an issue is a good candidate for mentoring, mark E-needs-mentor and try to find a mentor.

Mentors assigned to issues should write up mentoring instructions. Often, this is just a couple lines pointing to the relevant code. Mentorship doesn't require intimate knowledge of the compiler, just some familiarity and a willingness to look around for the right code.

After writing instructions, mentors should un-assign themselves, add E-mentor, and remove E-needs-mentor. On the project board, if a mentor is assigned to an issue, it should go to the Claimed column until mentoring instructions are provided. After that, it should go to To do until someone has volunteered to work on it.

Links

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

wg-async-foundations's People

Contributors

bigbv avatar csmoe avatar darksonn avatar ehuss avatar hackmd-deploy avatar luciofranco avatar mark-simulacrum avatar nellshamrell avatar nikomatsakis avatar taiki-e avatar tmandry avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.