reduls
reduls
Feb 25, 2017 · 1 min read

Future トレイトは Option<T> 型にも実装されているようだが、値が None の場合の挙動が「 NotReady の状態が永続する」のか、それとも「すぐに Ready(None) が返される」のかが気になったので、試してみた(futuresのドキュメントに明記されている可能性はある)。

// Rust-v1.15.1
extern crate futures; // v0.1.10
use 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) が即座に返されていた。

reduls

Written by

reduls

Programmer