Size: a a a

2021 March 30

ΑZ

Αλεχ Zhukovsky in Rust Async
error[E0433]: failed to resolve: could not find `join_all` in `tokio`
--> src\main.rs:9:12
 |
9 |     tokio::join_all!(futures).await;
 |            ^^^^^^^^ could not find `join_all` in `tokio`

Как дождаться выполнения всех футур в токио 1.4?
источник

ph

pl 🦑 hk in Rust Async
futures_util ?
источник

ΑZ

Αλεχ Zhukovsky in Rust Async
я думал futures депрекейтед, все что надо в токио и в стд, нет?
источник

ph

pl 🦑 hk in Rust Async
источник

ΑZ

Αλεχ Zhukovsky in Rust Async
окей,спасибо
источник

K

Kitsu in Rust Async
Αλεχ Zhukovsky
я думал futures депрекейтед, все что надо в токио и в стд, нет?
комбинаторы иногда все еще удобные (если стейт тащить не нужно офк), а в токио их нет
источник
2021 March 31

IG

Ilyas Gasanov in Rust Async
Я вообще правильно понимаю, что если мой тип Foo: !Unpin, и в моей программе используется Pin<&mut Foo>, то я могу натворить UB внутри drop(), даже не прибегая к unsafe { } блоку во всей программе ни разу?
источник

p

polunin.ai in Rust Async
Что?
источник

p

polunin.ai in Rust Async
Ты не можешь вызвать UB в сейф-коде, если функции саунднесс. В стд все саунднесс.
источник

p

polunin.ai in Rust Async
Дроп Pin<&mut T> не делает абсолютно ничего, если ты об этом.
источник

p

polunin.ai in Rust Async
Это дроп ссылки
источник

IG

Ilyas Gasanov in Rust Async
Я про дроп самого T.
источник

p

polunin.ai in Rust Async
Ilyas Gasanov
Я про дроп самого T.
Если где-то раньше дропнешь то лайфтаймы не сойдутся
источник

p

polunin.ai in Rust Async
И ошибка компилятора будет
источник

IG

Ilyas Gasanov in Rust Async
Ибо &mut T в сигнатуре дропа не запрещает мне дёргать там std::mem::replace() без ансейфа, например.
источник

p

polunin.ai in Rust Async
Ilyas Gasanov
Ибо &mut T в сигнатуре дропа не запрещает мне дёргать там std::mem::replace() без ансейфа, например.
Но ты не можешь получить &mut T из Pin<&mut T> если T: Unpin без ансейфа
источник

IG

Ilyas Gasanov in Rust Async
Дроп его получает, когда лайфтайм T заканчивается.
источник

в🧇

вафель 🧇 in Rust Async
во время вызова дропа пина уже нет
источник

IG

Ilyas Gasanov in Rust Async
Пина нет, но его инварианты остаются в силе до конца дропа.
источник

A

Alexander in Rust Async
Я конечно понимаю что это для примера, но имхо такой код показывать это перебор. Я про то что slept ставят сразу, а потом уже wake. Кто-нибудь возьмёт и скопирует себе :)
источник