問題タブ [rust-tokio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rust - トレイト バウンド Send が満たされていないため、ボックス化された Future を tokio::run できません
パラメータに応じて、オプションで将来を実行するか、何もしない関数があります。Box
返される 2 つの先物、tokio::prelude::future::Done<Item=(), Error=()>
すぐに に解決されるOk(())
a と、tokio::timer::Delay
使用しているand_then
aを前後に配置して、 と のmap_err
両方を に変換しようItem
とError
しました()
。で先物を実行しようとすると、これはうまくいかないようですtokio::run
。
これは、次のエラー メッセージでコンパイルに失敗します。
Box<Future...>
を実装していないようSend
ですが、私には意味がありません。Future
私が返す型は両方の implementであるため、標準ライブラリの自動実装であるため、そうすべきだSend
と私には思えます。ここで何が欠けていますか?Box
impl Send for Box<T> where T: Send