Size: a a a

2021 November 12

IB

Ivan Boldyrev in Rust Async
Можно, конечно, свои футуры запилить, но ключевое слово async работать не будет. Придется все расписывать вручную, как было в Rust до появления async.
источник

IB

Ivan Boldyrev in Rust Async
Можно ли как-то в отдельном no_core-проекте включить lang_item future_trait, что-то там дописав -- этого я не знаю.  Возможно, придется компилятор патчить.
источник

П

Пашечка in Rust Async
Вручную, это вместо
 
async fn test() { }


Надо расписать

fn test() -> Future {}
источник

IB

Ivan Boldyrev in Rust Async
Да, и самому внутри расписывать стейт-машину.
источник

П

Пашечка in Rust Async
Ну, стало понятнее, спасибо)
источник

K

Kitsu in Rust Async
std::Future это реекспорт из core
источник

MB

Mikail Bagishov in Rust Async
Ну, надо будет написать trait Future, задекларировать его как lang_item, и по идее будет работать
источник

K

Kitsu in Rust Async
и еще штук 40 lang-item-ов, ага
источник

D

Denis in Rust Async
ну да, мне кажется генераторы так просто не завести в no_core )
источник

D

Denis in Rust Async
а хотя если без генераторов, на комбинаторах, может и прокатить
источник

MB

Mikail Bagishov in Rust Async
так в дешугаринге async-а будут именно генераторы
источник

K

Kitsu in Rust Async
он про то, что асинк не нужен без асинка можно обойтись
источник

D

Denis in Rust Async
ага
источник

DF

Dollar Føølish in Rust Async
а в чем сложность генераторов в no_core?
источник

DF

Dollar Føølish in Rust Async
они что-то требуют?
источник

DF

Dollar Føølish in Rust Async
я думал генератор это просто поддержка компилятора в виде неявной стейт-машины
источник

MB

Mikail Bagishov in Rust Async
трейт Generator по идее
источник

DF

Dollar Føølish in Rust Async
а он не входит в язык раст сам?
источник

DF

Dollar Føølish in Rust Async
условные прототреды для C вполне бежали на барметал
источник

K

Kitsu in Rust Async
Не, почти вся логика вынесена в либстд же
источник