объект и ожидать эвейта его метода?
Пример по ссылке. Никак не получается победить лайфтаймы. Объект не мой, его самого менять не могу.
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=c1cadb9d19c4756a152347f14cdb3d82
Звучит как задача для динамического select!, то есть для futures::stream::FuturesUnordered, а не для статического селекта.
Но если очень хочется макросов, то можно извратиться с опциональными футурами и if гвардами в селекте.
Так futures::stream::FuturesUnordered тоже типизирован. И не особо понимаю как это поможет. Объект то не футура, а вызов функции из опшена лайфтаймы ломает
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=ec1b15fd54ec5d7bc61c27976225bb5a Вот так вот. И типизацию всегда можно заткнуть dyn Future, если совсем лень енумы писать.
Особенно полезен такой паттерн в сочетании с tokio::spawn, который возвращает ту же самую dyn Future в виде хендла.
Вообще ништяк, я даже не думал юзать FutureUnordered в таком виде, только внутри других tokio::select! 🙂 Спасибо большое
Обсуждают сегодня