async-std 0.99.1

Async version of the Rust standard library failed to build async-std-0.99.1
Please check the build logs and, if you believe this is' fault, open an issue.
Visit the last successful build: async-std-1.5.0

Async version of Rust's standard library

Build Status License Cargo Documentation chat

This crate provides an async version of std. It provides all the interfaces you are used to, but in an async version and ready for Rust's async/await syntax.


async-std comes with extensive API documentation and a book.


Add the following lines to you Cargo.toml:

async-std = "0.99"

Or use cargo add if you have it installed:

$ cargo add async-std

Hello world


use async_std::task;

fn main() {
    task::block_on(async {
        println!("Hello, world!");

Low-Friction Sockets with Built-In Timeouts


use std::time::Duration;

use async_std::{

async fn get() -> io::Result<Vec<u8>> {
    let mut stream = TcpStream::connect("").await?;
    stream.write_all(b"GET /index.html HTTP/1.0\r\n\r\n").await?;

    let mut buf = vec![];

    io::timeout(Duration::from_secs(5), async {
        stream.read_to_end(&mut buf).await?

fn main() {
    task::block_on(async {
        let raw_response = get().await.expect("request");
        let response = String::from_utf8(raw_response)
            .expect("utf8 conversion");
        println!("received: {}", response);

Take a look around

Clone the repo:

git clone && cd async-std

Generate docs:

cargo doc --features --open

Check out the examples. To run an example:

cargo run --example hello-world


See our contribution document.


Licensed under either of

at your option.


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