172 похожих чатов

Добрый день! Подскажите как подправить макрос чтобы заработала идея https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=eb057ca8aab2e57f92ddd2cdafec44d7

?

27 ответов

6 просмотров

Так? https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=eb057ca8aab2e57f92ddd2cdafec44d7

добавить use super::*; в макрос и сделать struct Sss публичной Хотя будет предупреждение о неиспользуемом use super::*; в случае с i32...

Андрей-Смирнов Автор вопроса
red75prime
добавить use super::*; в макрос и сделать struct S...

Предупреждение можно убрать при помощи #[allow(unused_imports)]. А вот делать Sss публичным наверное не всегда будет удобным, можно ли как-то по другому подправив только макрос? Макрос планируется вынести в библиотеку.

Андрей Смирнов
Предупреждение можно убрать при помощи #[allow(unu...

проблема в том, что AccessToken объявлен как pub, но он даёт доступ к не-pub типу Sss. Не приходит в голову как сделать так чтобы visibility у AccessToken автоматически совпало с visibility у Sss.

А ты случаем не RwLock переизобретаешь?

Андрей-Смирнов Автор вопроса
Jøhn Đøꝩsøn
А ты случаем не RwLock переизобретаешь?

Да вроде как нет. У меня необходимость реализовать safe и zero cost доступ к static mut из одного потока исполнения.

thread_local! + RefCell?

Jøhn Đøꝩsøn
thread_local! + RefCell?

Он не то чтобы зерокост, но почти

Traveller Kolsky
Он не то чтобы зерокост, но почти

После того как сделаешь borrow{_mut} - уже зироукост, разве нет?

Jøhn Đøꝩsøn
thread_local! + RefCell?

вот этим лучше воспользуйтесь. Ваш токен не защищает от рейсов все равно куда бы вы его не передали

Андрей-Смирнов Автор вопроса
клюквенный сбитень
вот этим лучше воспользуйтесь. Ваш токен не защища...

ну тогда без "который в принципе можно передавать между потоками"

В чём смысл, если есть бокс

Андрей-Смирнов Автор вопроса
клюквенный сбитень
вот этим лучше воспользуйтесь. Ваш токен не защища...

А передача токена между потоками посредством take_access и drop защитит от рейсов? (правда контроль доступа уже будет в рантайме).

Андрей-Смирнов Автор вопроса
Андрей Смирнов
Бокс дороже, no std.

Один индирект, no_std всё ещё не исключает alloc::Box

Андрей-Смирнов Автор вопроса
Пух
Один индирект, no_std всё ещё не исключает alloc::...

embedded. Нет кучи - нет рантайм ошибки нехватки памяти при выделении, ну и нет индирект - только статик адреса.

Андрей Смирнов
Не подскажете?

при наличии конкурентной (любой, на самом деле) чтения и записи с разных ядер нужен либо мутекс либо переменная должна быть атомиком

Андрей-Смирнов Автор вопроса
Дмитрий ^
всё там есть, если захотеть )

Вы наверное не правильно поняли, я перефразировал.

Андрей-Смирнов Автор вопроса
клюквенный сбитень
при наличии конкурентной (любой, на самом деле) чт...

Там используется AtomicBool c Ordering::Acquire и Ordering::Release. Это не поможет?

Андрей-Смирнов Автор вопроса

Вроде нашёл решение https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=33341f3402f4843b017a8da03a98c71b Не посмотрите корректна ли там работа с unsafe?

Андрей Смирнов
Там используется AtomicBool c Ordering::Acquire и ...

Атомики друг с другом консистентны будут, а в самом статике все ещё могут быть гонки

Jøhn Đøꝩsøn
Атомики друг с другом консистентны будут, а в само...

вроде нет acquire + release синхронизирует все доступы вокруг них mutex на них же работают

Alexey Sokolovskiy
вроде нет acquire + release синхронизирует все дос...

Мне кажется да. Acq Пишем Передаём токен в другой тред Читаем Rel

Похожие вопросы

Обсуждают сегодня

коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
А если изначально бот работал так : есть сайт онлайн школы. У каждого ученика свой кабинет. Где он авторизуется по своим данным. И уже в кабинете, на самом сайте делает оплату...
Денис 💡 Фрилансер
13
А что ты вообще делаешь ?
Yesgoter
13
На работе пишем распределенное приложение, у которого сотни, если не тысячи настроек. Конфиги написаны на xml, расположены на разных хостах и должны быть согласованы друг с др...
Aleksandr Druzhinin
5
Всем привет 🙂 Какая-то непонятная проблема у меня с видео, раньше такого не было. Загружаю видео с гугл диска именно в видео mp4 и меняю ссылку как положено вот она: https://d...
Ксюша|Верстка на Тильде|Дизайн 🦥
6
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
18
средствами IBX как-то можно выполнить запрос insert ... returning?
Igor
31
Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
Подскажите, почему в правом коде с1 дополняется до 8байт, а не до 4?
Sergey
9
что это и почему оно? executor.start_polling(bot, skip_updates=True, on_startup=on_startup, File "/usr/local/lib/python3.10/dist-packages/aiogram/utils/executor.py", line 4...
𐌍𐌄 ᕓ𐌄𐌓𐌌Ꝋ𐌓𐌄
2
Карта сайта