Forwarded from Jack
В futures 0.3 все же красивее сделали, но и для 0.1 будет работать
Forwarded from Mikail Bagishov
Заодно имеем Clone здорового человека: serde_json::from_str(&serde_json::to_string(&x))
Forwarded from Jack
GitHub
add future::poll_fn by yoshuawuyts · Pull Request #124 · async-rs/async-std
This adds futures::poll_fn, which is fairly common and useful when defining custom futures. This seems like a generally useful, and easy addition to the futures submodule. Thanks!
Ref
https://docs...
Ref
https://docs...
Forwarded from Jack
Не предоставляют стабильный интерфейс к футурным функциям, а перехуяривают их копипастом
Forwarded from Jack
Иначе, чем долбоебизм это не назвать.
Он же прям в PR делает:
Он же прям в PR делает:
pub async fn poll_fn<T>(f: impl FnMut(&mut Context<'_>) -> Poll<T>) -> T {
let fut = PollFn { f };
fut.await
}
impl<T, F> Future for PollFn<F>
where
F: FnMut(&mut Context<'_>) -> Poll<T>,
{
type Output = T;
fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<T> {
...Forwarded from pl 🦑 hk
сообщество выберет чем пользоваться tokio+futures или async-std
Forwarded from Jack
Дык даже в https://github.com/async-rs/async-std/pull/123 и то с умом подошли.
использовали готовый код
pub async fn poll_fn<F, T>(f: F) -> T
where
F: FnMut(&mut Context<'_>) -> Poll<T>,
{
futures::future::poll_fn(f).await
}
использовали готовый код
Forwarded from Jack
Так подожжи. у них в зависимостях все равно futures и код сильно от них зависит. Зачем переписывать футуры, если они у тебя уже в зависимостях?
AT6MB2G MQ26O2LI:
vec!["a"].into_iter().map(|s| s.to_owned()).collect();
реально больше никак мне не создать &Vec<String> ?
^^^^^^^ a collection of type &std::vec::Vec<std::string::String> cannot be built from std::iter::Iterator<Item=std::string::String>
хммммм
Roman Proskuryakov:
Ну ты в переменную положи вектор, а потом уже от переменной возьми ссылку.
AT6MB2G MQ26O2LI:
ш-шта
Roman Proskuryakov:
let vec: Vec<String> = vec!["a"].into_iter().map(|s| s.to_owned()).collect();
let vec_ref = &vec;
AT6MB2G MQ26O2LI:
а иначе точно никак? както некраисво
Roman Proskuryakov:
Что значит некрасиво?
AT6MB2G MQ26O2LI:
ну в две строчки
Roman Proskuryakov:
.collect() создает временную переменную. Ты хочешь от временной переменной взять ссылку. Она сразу сдохнет после точки с запятой ; и твоя ссылка будет дохлая
поэтому раст тебя от этого защищает
AT6MB2G MQ26O2LI:
ух ясно спасибо)
https://t.iss.one/rust_beginners_ru/33912
vec!["a"].into_iter().map(|s| s.to_owned()).collect();
реально больше никак мне не создать &Vec<String> ?
^^^^^^^ a collection of type &std::vec::Vec<std::string::String> cannot be built from std::iter::Iterator<Item=std::string::String>
хммммм
Roman Proskuryakov:
Ну ты в переменную положи вектор, а потом уже от переменной возьми ссылку.
AT6MB2G MQ26O2LI:
ш-шта
Roman Proskuryakov:
let vec: Vec<String> = vec!["a"].into_iter().map(|s| s.to_owned()).collect();
let vec_ref = &vec;
AT6MB2G MQ26O2LI:
а иначе точно никак? както некраисво
Roman Proskuryakov:
Что значит некрасиво?
AT6MB2G MQ26O2LI:
ну в две строчки
Roman Proskuryakov:
.collect() создает временную переменную. Ты хочешь от временной переменной взять ссылку. Она сразу сдохнет после точки с запятой ; и твоя ссылка будет дохлая
поэтому раст тебя от этого защищает
AT6MB2G MQ26O2LI:
ух ясно спасибо)
https://t.iss.one/rust_beginners_ru/33912
Telegram
AT6MB2G MQ26O2LI in Rust Beginners
vec!["a"].into_iter().map(|s| s.to_owned()).collect();
реально больше никак мне не создать &Vec<String> ?
^^^^^^^ a collection of type &std::vec::Vec<std::string::String> cannot be built from std::iter::Iterator<Item=std::string::String>
хммммм
реально больше никак мне не создать &Vec<String> ?
^^^^^^^ a collection of type &std::vec::Vec<std::string::String> cannot be built from std::iter::Iterator<Item=std::string::String>
хммммм