Size: a a a

2020 July 23

AV

A V in Rust Async
Vetro
Переслано от Vetro
futures::lock::Mutex | tokio::sync::Mutex

есть принципиальная разница?
общее правило: если видишь вариант утилиты в futures и в tokio - всегда бери tokio
источник

V

Vetro in Rust Async
источник

V

Vetro in Rust Async
ладно
источник

PL

Paul Loyd in Rust Async
A V
общее правило: если видишь вариант утилиты в futures и в tokio - всегда бери tokio
Ну что, начнём холивар про select?
источник

PL

Paul Loyd in Rust Async
Или про урезанный донельзя StreamExt
источник

PL

Paul Loyd in Rust Async
Или mpsc::bounded::Sender, который требует &mut self, хотя unbounded не требует
источник

AV

A V in Rust Async
tokio::select! не требует FusedFuture в отличие от
источник

PL

Paul Loyd in Rust Async
При всём уважении к tokio, ряд решений под большим вопросом
источник

PL

Paul Loyd in Rust Async
A V
tokio::select! не требует FusedFuture в отличие от
И позволяет проебаться в рантайме, в отличие от
источник

AV

A V in Rust Async
проебаться как?
источник

PL

Paul Loyd in Rust Async
Причем вероятностно
источник

PL

Paul Loyd in Rust Async
A V
проебаться как?
Паникой, как ещё. Или вообще ub
источник

AV

A V in Rust Async
схуяли
источник

PL

Paul Loyd in Rust Async
С тех пор как Once a future has completed (returned Ready from poll), calling its poll method again may panic, block forever, or cause other kinds of problems
источник

PL

Paul Loyd in Rust Async
Но правда calls must never cause undefined behavior, лол
источник

PL

Paul Loyd in Rust Async
То есть "мы полагайтесь на это, но совсем уж не стоит, а то мало ли", И вот это "мало ли" это select в tokio
источник

PL

Paul Loyd in Rust Async
Так что можно долго спорить fused vs if guard, но компайлтайм гарантии всегда лучше, чем рантаймовые. Особенно, если речь про ветки, которые могут исполняться очень редко и вероятностно
источник

AV

A V in Rust Async
я не понял
источник

PL

Paul Loyd in Rust Async
Что именно?
источник

AV

A V in Rust Async
tokio::select будет поллить футуры пока одна не вернёт Ready
источник