The Rust Teamはオープンソースのプログラミング言語Rustに非同期処理"async-await"を実装したv1.39.0をリリースしたことを公式ブログで発表した。

v1.39のアナウンスメントと別立てで用意された投稿"Async-await on stable Rust!"には2016年の最初の提案からの歩みに触れながら、"Minimum Viable Product"(最小実行可能製品)ではあるが、今後のRustの重要なストーリーになると大きな意味合いを持つバージョンアップであると述べている。

ブログではv1.36.0から標準機能として実装されている非同期処理のためのFutureと今回実装されたasync fnを付した関数と.awaitを用いて非同期処理のサンプルを示している。通常の関数と異なり、async fnが付された関数は呼び出されても実行を待機し、.awaitオペレーターが付されたfutureを返す。

公式ブログ掲示の解説サンプル

async fn first_function() -> u32 { .. }



async fn another_function() {
    // Create the future:
    let future = first_function();

    // Await the future, which will execute it (and suspend
    // this function if we encounter a need to wait for I/O): 
    let result: u32 = future.await;
    ...
}

Firefoxの高速化の立役者とも評され、Mozillaが支援するオープンソースのプログラミング言語であるRust。米AWSもサポートを発表するなど注目される言語のひとつ。