аргумент и возвращающая результат вычисляемый из него. Но с лайфтаймами не складывется как-то😔
Думаю лучше взглянуть на минимальный пример: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=f5853729073789150934b5caf346dee3
Мои обходные решения выглядят как-то топорно очень…
Обязательно нужно хранить &str в футуре? Сейчас это проблематично выразить в сигнатуре. Нужно создавать дополнительный трейт.
еще можно без аллокаций, но без дженерика (читай кложу не засунешь) вот так: struct Example<'a, O> where O: Future<Output = Vec<String>>, { async_fn: fn(&'a str) -> O, }
тут &str к сожалению лишь пример, и на моем параметре нельзя получить владение
Тут только что-то такое делать https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=9b990c070a6c9220297983348caa4d2c
я к слову нечто подобное уже пробовал, но словил: the type parameter `O` is not constrained by the impl trait, self type, or predicates и сдало терпение))
Обсуждают сегодня