Люди - опять вопрос про обработку ошибок с аллокацией памяти.

В своем коде, я могу, хоть что-то намудритть, используя try_reserv () в коллекциях, или там где происходит аллокация, что-бы избежать panic. Или использовать, failible_collections например. А что делать, если я использую 3-сторонний crate, где автор этого не сделал ? Т.е получается, что идеология rust вообще склонна "умалчивать" ошибки аллокации, сводя их всегда к panic ? И смысла нет, скурпулезно отслеживать ошибки аллокации в своем коде, если ты все равно используешь crates, где они не проверяются ?

вот прям в тему, правда это про ядро - но суть таже:

Linus Torvalds on Rust support in kernel: "... So if the Rust compiler causes hidden allocations that cannot be caught and returned as errors, then I seriously think that this whole approach needs to be entirely NAK'ed, and the Rust infrastructure - whether at the compiler level or in the kernel wrappers - needs more work..."

5 ответов

8 просмотров

можно стандартную библиотеку собирать без флага, отвечающего за неявные ошибки аллокации

Max Силинг
можно стандартную библиотеку собирать без флага, о...

тогда крейты, полагающиеся на неявные ошибки аллокации, компилироваться не будут

а чем он тут лучше чем раст или c++? Там реально все сторонние либы корректно обрабатывают нехватку памяти?

Mikail Bagishov
а чем он тут лучше чем раст или c++? Там реально ...

Я дальше доки не смотрел. Но типо try defer при аллокации это common pattern. Наверно и linter можно настроить чтоб не вызывать без try то что может вернуть ошибку. В целом это не вопрос языка, а скорее best practice из документации. В доке раста несколько я знаю нет рекомендации на ловлю паники при аллокации по дефолту

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

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

Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
7
Всем привет. Не понимаю, в чём тут шутка юмора. Убирается только разрешение на send_messages. А send_media_messages остаётся. Как сделать, чтобы оба убирались? await b...
Alexander
2
Есть тут кто занимается разработкой серваков майна? Или знакомые
meow *
3
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Есть ли лимиты на кол-во вебхук по домену? Стоит в данный момент 900+ ботов и бывает бот перестает отвечать (не приходят вебхуки) 🐒 Помогает только перезапуск
ᅠ [ Кому не ответил, дублируйте ]
11
а что делать если тебя убивают на картах?
Yarik yarik kyda ti lezesh
43
Товарищи, здравствуйте Подскажите, пожалуйста, может кто-нибудь сталкивался с такой задачей Через вебапку можно сканировать qr-код, а есть ли возможность считывать nfc?
Artem Stormageddon
8
Карта сайта