The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"В ядро Linux 6.8 намечено включение первого сетевого драйвера на языке Rust"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "В ядро Linux 6.8 намечено включение первого сетевого драйвер..." +/
Сообщение от Витюшка (?), 19-Дек-23, 01:53 
Ты как-то плаваешь в Rust, друг мой.
> ты решил тактично пропустить...

А что там обсуждать? Мы говорим о panic(), который вызывается при unwrap(). При чём тут обычные возвращаемые значения из функции?

Вот вызываю я функцию библиотеки, она откуда-то получает option. Вызывает на нём unwrap() и я получаю панику. При том сама функция естественно может возвращать Option (но в других случаях).

Я конечно бы обработал возвращаемое значение, только панику не обработать. Или я не прав?

Тоже самое касается Result. unwrap() на Result это паника при Err().

И почему в таком супер безопасном языке, где защищаются именно от программиста дурака, который и с указателями и индексами не может справиться, можно просто взять и вызвать unwrap() и кинуть панику? Притом случайно, непреднамеренно.

Вот они аргументы (кого-то выше) "но есть же unwrap_or()" меня умиляют.

Да, есть. Это типа "Пиши просто сразу безопасно", из такого разряда? Так и в С можно писать сразу безопасно и проверять указатель на NULL везде.

Супербезопасный язык, который позволяет кидать паники налево и направо вместо того чтобы заставить обработать ошибку (и возможно там кинуть панику - но это уже будет явно и осмысленно, а не случайно по недосмотру) и создавать неинициализированные переменные 😆 - смотри вопрос выше сообщением твоему коллеге.

Вот эти аргументы "но это же не пройдёт код ревью!" думаю понимаешь что очень слабые. В С++ тоже не пройдет 😆

При этом этот же программист должен использовать методы без паники (ой...так они ещё и не помечены как unsafe???? Это каааак так???), но не в состоянии не использовать переменную после того как она была перемещена в функцию?

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
В ядро Linux 6.8 намечено включение первого сетевого драйвера на языке Rust, opennews, 18-Дек-23, 11:21  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру