Linker Unsafe
220 subscribers
182 photos
24 videos
18 files
859 links
Собираю ржавые и лямбдообразные новости, прикольные цитатки с форумов, ссылки на статьи и всё такое. В-общем, сюда я тащу такие крупицы, которые мне будет жаль потерять в цифровой бездне. Возможно, они покажутся интересными и вам.

Фи сюда: @nlinker
Download Telegram
Forwarded from Сергей
Можно только return a, b, err
Forwarded from Αλεχ Zhukovsky
да, но это не тапл таплов
Forwarded from Oleg Andreev
блин, я думал в го есть таплы
Forwarded from Jack
В futures 0.3 все же красивее сделали, но и для 0.1 будет работать
Forwarded from Alexander Irbis
Ааа, понял! 😃
Джейсон - наше всё 😊
Forwarded from Mikail Bagishov
Заодно имеем Clone здорового человека: serde_json::from_str(&serde_json::to_string(&x))
Forwarded from Jack
Не предоставляют стабильный интерфейс к футурным функциям, а перехуяривают их копипастом
Forwarded from Jack
Иначе, чем долбоебизм это не назвать.

Он же прям в 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 и код сильно от них зависит. Зачем переписывать футуры, если они у тебя уже в зависимостях?
Forwarded from Deleted Account
Forwarded from Deleted Account
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