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

Фи сюда: @nlinker
Download Telegram
Forwarded from Jack
Вон недавно багу нашли

static UNIT: &'static &'static () = &&();

fn foo<'a, 'b, T>(_: &'a &'b (), v: &'b T) -> &'a T { v }

fn bad<'a, T>(x: &'a T) -> &'static T {
let f: fn(&'static &'a (), &'a T) -> &'static T = foo;
f(UNIT, x)
}
Forwarded from Jack
Следовательно реализация раста в rustc неверна
Forwarded from Nikita Vilunov
Да я знаю об этой баге
Forwarded from Cyberdine Engineering🐤
Forwarded from koder
можно как-то заставить раст проаннотировать исходники выведенными типами? Или напечатать тип переменной? Вот это не помогает https://stackoverflow.com/questions/21747136/how-do-i-print-the-type-of-a-variable-in-rust
https://t.iss.one/rust_beginners_ru/32634

Andrew Kochen:
Всем привет
Я новичек в Rust, пытаюсь сделать задачу.
Задача связана с Clickhouse: есть два запроса. Нужно выполнить первый запрос , на его основе сформировать второй и далее выполнять только второй в цикле до бесконечности.
для Clickhouse нашел crate clickhouse_rs (https://docs.rs/clickhouse-rs/0.1.14/clickhouse_rs/), он основан на tokio, с которым я тоже слабо знаком )
Я смог сделать, чтоб запросы выполнялись один за другим, а как сделать так, чтобы второй запрос выполнялся в цикле нет идей(
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=bcecde48ecb4e46d70c769c48a556265
Наверно, можно придумать рекурсию, но это в конце концов отожрет всю память?
Может кто подсказать, как это можно сделать?

Не понимаю, как вызвать loop? Я видел в tokio можно вызвать future::loop_en, как сделать это здесь - я не понимаю

Сергей:
примерно так first_request.and_then(loop_fn( (), || Loop::Continue(second_request))

loop_fn вторым аргументом хочет футуру, результатом которой будет либо Loop::Continue(новая футура) либо Loop::Break(результат всего цикла)
Forwarded from Deleted Account
Там полно оверхэдов. А нужен ИНТЕРПРЕТАТОР языка Rust
Forwarded from Jack
MIRI же
Forwarded from Mikola Summer Duck
Есть ещё Once, только нормальная реализация требует крейта.
Forwarded from hirrolot
Внезапно, это сработало
Nickolay Novikov:
расскажите, как запомнить все те места куда надо писать lifetime?

для меня это просто проблема, постоянно приходится смотреть примеры

Gymmasssorla:
Компилятор тебе скажет
Forwarded from Jack
дело движется в сторону async trait methods или хотя бы в impl Trait в возврате из метода?