https://github.com/rust-lang/rust/issues/53834#issuecomment-419217793
Rust 2018でawaitをどうするかの方針が示された。awaitは実験的なasync/await構文で await!(fut)のように使われるが、これはawaitをキーワードに昇格して await futとするほうがよいのではという意見があった。
Conversation
Notices
-
Masaki Hara (qnighy@qnmd.info)'s status on Friday, 07-Sep-2018 09:54:37 JST
Masaki Hara
-
Masaki Hara (qnighy@qnmd.info)'s status on Friday, 07-Sep-2018 09:57:24 JST
Masaki Hara
まだawait構文のbikeshedをする段階にないのでどちらの構文の可能性も残しておきたい。しかし、前者はawaitが識別子であることを、後者はawaitがキーワードであることを前提にしている。Rust2018でキーワードを増やせる今のうちに決断する必要があるというジレンマがあった。
In conversation permalink -
Masaki Hara (qnighy@qnmd.info)'s status on Friday, 07-Sep-2018 10:00:53 JST
Masaki Hara
結論としては、まずRust2018では一旦awaitをキーワードに昇格する。しかし、Rust2018モードでも、現在await!マクロを使うのに必要な #![feature(await_macro)] が指定された場合はawaitを識別子として扱う。
In conversation permalink -
Masaki Hara (qnighy@qnmd.info)'s status on Friday, 07-Sep-2018 10:03:21 JST
Masaki Hara
将来、async/awaitの安定化にあたってawait fut構文が採択されたら、await_macro機能を廃止すればいいし、await!(fut)構文が採択されたら、awaitを再び識別子に降格すればよい(たぶん降格は後方互換にできるはず)。
In conversation permalink
-