RU

Твой async fn на самом деле enum, а Pin нужен потому, что Rust наступил на грабли самоссылающихся структур

async fn в Rust — это не магия и не зелёный поток, а обычный enum, который компилятор генерирует за тебя. Разбираем, почему Future это машина состояни…

rustasynctokiopinfuturesexecutorwakerasync_fncargo-expandundefined_behavior
Habr
RU

Твой код на Rust компилируется, проходит тесты и является UB. Ты просто об этом не знаешь

Если взять случайный крейт с crates.io и поставить его под Miri, шанс увидеть undefined behavior где-то в зависимостях стремится к единице. Разбираемс…

rustunsafemiristacked_borrowstree_borrowsprovenancellvmnoaliasundefined_behavior