При работе с Tokio и фьючерсами фьючерсы, передаваемые в среду исполнения Tokio, должны в большинстве случаев иметь время жизни 'static
. Я понимаю, что поскольку будущее может быть перенесено в другой поток, где оно потенциально может пережить место, которое было определено.
Существует метод Runtime::block_on_all
, который гарантирует, что вызываемое будущее будет прервано к концу вызова, и даже возвращает результат запуска этого будущего.
В этом случае я не понимаю (за исключением простоты кода Токио), почему будущее должно быть 'static
.
Может кто-нибудь пролить свет на это?