ФлеймФорумПрограммирование

Стоит ли изучать новый язык Rust? (287 стр)

Страницы: 1286 287 288 289292 Следующая »
#4290
15:39, 21 окт 2025

ну строго говоря, для JSON хранение как минимум один из валидных кейсов, т.к. [Zefick Mode]он был задуман как подмножество синтаксиса JavaScript[/Zefick Mode]. а код на JS черт возьми иногда хранят.

#4291
15:42, 21 окт 2025

Tiendil
> Пост для срачей вокруг Rust перерос в пост для срачей вокруг XML, почему мне это кажется закономерным?

Так почему закономерным?

#4292
(Правка: 15:54) 15:49, 21 окт 2025

Давайте лучше про Rust...

Я вот вчера выяснил, что мутабельный синглетон без mutex-а не сделать.

Чтобы сделать в макросе конкатенацию имени, надо использовать 3rd party crate - paste, который принадлежит какому-то частному чуваку

#4293
15:52, 21 окт 2025

KolyaL
Здорово, правда?
Еще можно унсафэ поставить

#4294
15:53, 21 окт 2025

1 frag / 2 deaths
> унсафэ

Это не спортивно!

#4295
16:02, 21 окт 2025

KolyaL
А в крестах статик переменные не под мутексом разве инициализируются?

#4296
16:07, 21 окт 2025

KolyaL
> Так почему закономерным?
Это глубоко философский вопрос, не могу ответить кратко, на уровне ощущений :-)

#4297
16:08, 21 окт 2025

1 frag / 2 deaths
> А в крестах статик переменные не под мутексом разве инициализируются?

Если все гарантированно работает в одном потоке, то мьютексы как бы не нужны

#4298
16:24, 21 окт 2025

KolyaL
> Если все гарантированно работает в одном потоке,
Ну скажи это крестам тогда с этим ихним
__cxa_guard_acquire

#4299
16:24, 21 окт 2025

KolyaL
> Если все гарантированно работает в одном потоке, то мьютексы как бы не нужны
Дак и в расте не нужны. Сделай враппер вокруг UnsafeCell которые чекает что доступ из правильного треда. Есть крейт, но я забыл название. Могу глянуть а репках, если интересно

#4300
16:34, 21 окт 2025

KolyaL
> Если все гарантированно работает в одном потоке, то мьютексы как бы не нужны
Раст не знает, что ты работаешь только в одном потоке.
Впрочем, если всё гарантированно работает в одном потоке — то ничего не испортится, если глобалы поменять на тхред-локалы.

#4301
(Правка: 17:04) 16:42, 21 окт 2025

Имбирная Ведьмочка
> тхред-локалы.
не испортится, но всеже не стоит, если нужен именно синглтон) к тому же работать с тредлокалами не так удобно (коллбэки вместо RAII-скоупов)

KolyaL
https://docs.rs/threadbound/latest/threadbound/ (я правда другой юзал, но суть та же, и тут автор не ноунейм)

PS: ну и кстати UnsafeCell там не используется)

#4302
18:26, 21 окт 2025

kkolyan
> всеже не стоит, если нужен именно синглтон
А почему? Ведь в случае, если на самом деле потоков окажется несколько — оно в обоих случаях сломается и понесёт чушь. Не считая что работать неудобно, это не спорю, но это уже чисто растовские же заморочки.

#4303
(Правка: 20:02) 18:45, 21 окт 2025

Имбирная Ведьмочка
в случае thread_bound кейс "не тот поток" будет явным (паника, или явная обработка), а в случае thread_local, оно начнет делать нежелаемое втихаря. последствия могут быть не мгновенно заметными, но критичными.

#4304
22:12, 21 окт 2025

kkolyan
> https://docs.rs/threadbound/latest/threadbound/ (я правда другой юзал, но суть та же, и тут автор не ноунейм)

Прикольная штука. Кто-то такое создаст, залочит на какой-то поток. Потому кто-то другой начнет юзать это (не зная, что это) в другом потоке и охренеет. Это же можно не явно использовать.

Надо сделать MainThreadBound, и чтобы внутри panic случался. Это будет типа бомбы в коде по уничтожению потоков

Страницы: 1286 287 288 289292 Следующая »
ФлеймФорумПрограммирование