为什么Tokio的Runtime :: block_on_all需要具有“静态生命周期”的未来?

时间:2018-08-31 07:04:14

标签: rust rust-tokio

在处理Tokio和期货时,传递给Tokio运行时的期货大部分时间必须具有'static的生命周期。我了解这是因为将来可能会转移到另一个线程中,从而有可能超过定义的位置。

有一种方法Runtime::block_on_all保证被调用的future将在调用结束之前终止,甚至返回运行此future的结果。

在那种情况下,我不明白(除了Tokio代码的简单性)为什么未来必须是'static

有人能对此有所启发吗?

1 个答案:

答案 0 :(得分:2)

再往前看,似乎我是对的,他们对此有疑问:#431 Drop 'static bound on Runtime::block_on[_all]