Feb 25, 2017 · 1 min read
Future トレイトは Option<T> 型にも実装されているようだが、値が None の場合の挙動が「 NotReady の状態が永続する」のか、それとも「すぐに Ready(None) が返される」のかが気になったので、試してみた(futuresのドキュメントに明記されている可能性はある)。
// Rust-v1.15.1
extern crate futures; // v0.1.10use futures::Future;
use futures::future::Empty;let mut f: Option<Empty<(),()>> = None;
println!("{:?}", f.poll());
// ==> Ok(Ready(None))
let mut f: Option<Empty<(),()>> = Some(futures::empty::<(),()>());
// ==> Ok(NotReady)
Ready(None) が即座に返されていた。
