Size: a a a

Rust — русскоговорящее сообществo

2020 September 23

MF

Max Frai in Rust — русскоговорящее сообществo
Поскажите что может быть, если линковка идет бесконечно
источник

MF

Max Frai in Rust — русскоговорящее сообществo
Building [============> ] 365/366: Test(bin)
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Бесконечно это сколько? В проекте есть async? Какая версия компилятора?
источник

MF

Max Frai in Rust — русскоговорящее сообществo
вафель 🧇
Бесконечно это сколько? В проекте есть async? Какая версия компилятора?
async есть, сейчас закомментил код внутри асинхронной функции
источник

MF

Max Frai in Rust — русскоговорящее сообществo
и оно скомпилировало
источник

V

Vladimir in Rust — русскоговорящее сообществo
У меня такое было на кривых процедурных макросах в либп2п (но это явно не про линковку, ты уверен что на ней?).
Посмотри ещё грузит Цпу, или просто виснет.
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Max Frai
async есть, сейчас закомментил код внутри асинхронной функции
Недавно баг в компиляторе нашли с асинхронными функциями
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Vladimir
У меня такое было на кривых процедурных макросах в либп2п (но это явно не про линковку, ты уверен что на ней?).
Посмотри ещё грузит Цпу, или просто виснет.
+ у меня бывало что крейт с кучей макросов полчаса собирал
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
источник

f

folex in Rust — русскоговорящее сообществo
Эрик
Если у тебя каждый раз значение именно новое, а не просто маленькое изменение в данных, то можно хранить RwLock<Arc<Data>> и делать
get_data() -> Arc<Data> { LOCK.read().clone() }
чтобы долго локи не держать на чтение.
У меня там не просто значение, а структура с тяжелым мутабельным стейтом, так что клонить не получится. Еще я надеюсь мне удастся избежать глобальных статических значений :)
источник

f

folex in Rust — русскоговорящее сообществo
Но вроде всё так, и всё сходится. Буду пробовать реализовать, спасибо!
источник

MF

Max Frai in Rust — русскоговорящее сообществo
Походу да, эта проблема. Закомментил вызов асинхронной функции внутри асинхронной и все компилируется быстро
источник

AZ

Alexander Zaitsev in Rust — русскоговорящее сообществo
красивый баг :)
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Alexander Zaitsev
красивый баг :)
В чём красота?
источник

AZ

Alexander Zaitsev in Rust — русскоговорящее сообществo
вафель 🧇
В чём красота?
в том, что рекурсивная дрянь так мозг компилятору подрывает нормально :) то есть вложенная
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Alexander Zaitsev
в том, что рекурсивная дрянь так мозг компилятору подрывает нормально :) то есть вложенная
Она даже не рекурсивная, так, вложенная)
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Alexander Zaitsev
в том, что рекурсивная дрянь так мозг компилятору подрывает нормально :) то есть вложенная
ну в шланге было что-то подобное
источник

AZ

Alexander Zaitsev in Rust — русскоговорящее сообществo
Boris Vinogradov
ну в шланге было что-то подобное
насчёт асинков такого не помню. помню, что там были везде большие проблемы с вычислениями на этапе компиляции, если написать их "правильно"
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Alexander Zaitsev
насчёт асинков такого не помню. помню, что там были везде большие проблемы с вычислениями на этапе компиляции, если написать их "правильно"
ну асинков там ещё пока нет), а про вычислия на этапе компиляции я сейчас и вспомнил
источник

Э

Эрик in Rust — русскоговорящее сообществo
[u8].as_mut_ptr().write_bytes(0, len)
vs
[u8].iter_mut().for_each(|x| *x = 0)

LLVM оптимизирует второе в первое?
источник