Skip to content

Interactively learn async Rust with RepoQuest

Will Crichton edited this page Jul 21, 2025 · 3 revisions

This repository is a RepoQuest tutorial developed by the Cognitive Engineering Lab at Brown University to help you learn about the async/await features in Rust. RepoQuest teaches you programming concepts interactively: you will work as a backend developer on a Github repository containing a small web app. RepoQuest will file issues that contain async-related challenges and background information, which you will resolve with pull requests. For more about RepoQuest, check out this 3-minute video overview:

Watch the video

This quest assumes you have a basic familiarity with Rust, at least up to Chapter 12 of TRPL. You can see a preview of the tasks in the issue list for this repo. The chapters are:

  1. Warmup
  2. Async and Await
  3. Joining Futures
  4. Spawning Tasks
  5. Message Passing
  6. Waiting on Many Futures
  7. Selecting Between Futures
  8. Pinning Futures
  9. Async Abstractions

To get started, follow these steps:

  1. Install RepoQuest. (Don't forget to setup Github authentication as described in the RepoQuest README.)
  2. Run repo-quest in your terminal.
  3. When prompted, provide cognitive-engineering-lab/rqst-async as the quest source.
  4. Follow the instructions in the CLI to proceed.

If you run into any issues, you can post on our public Zulip or file an issue on the repo-quest repository (not here).

Clone this wiki locally