https://github.com/rust-lang/rust/pull/59119
Future-proof Futures API というプルリクで若干揉めてるっぽい。Future::pollが明示的に持つべき文脈は何か?という話で、futuresの1, 2, 3の間でも方針がブレている。結局どうするべきか広範な合意は取れていないようだ
Conversation
Notices
-
Masaki Hara (qnighy@qnmd.info)'s status on Friday, 22-Mar-2019 10:04:24 JST
Masaki Hara
-
Masaki Hara (qnighy@qnmd.info)'s status on Friday, 22-Mar-2019 10:15:21 JST
Masaki Hara
Future::pollが知りたい文脈は主に3つある。
・Waker(futures-0.1ではTaskと呼ばれている): 休眠タスクを起こすためのハンドル。
・Executor: 新規タスクを起動するためのハンドル。
・Locals: タスクローカル領域のためのハッシュマップ。In conversation permalink -
Masaki Hara (qnighy@qnmd.info)'s status on Friday, 22-Mar-2019 10:20:53 JST
Masaki Hara
futures-0.1はこれらを全てTLS経由で暗黙に渡していた。0.2では全てをContextという構造体に詰めて明示的に渡していた。0.3の現行の実装ではWakerだけを明示的に渡しているが、これをあとからfutures-0.2系列のようにできるよう拡張の余地を残そうというのが本PR。
In conversation permalink
-