LINUX.ORG.RU

История изменений

Исправление Q-Master, (текущая версия) :

Это отличная идея!

Отличная от чего? На каждый вызов каждый раз проверка на ошибка/не ошибка. При этом в 99.9% там нет ошибки и проверка просто жрёт время проца.

Нет, UB ты не получишь. Получишь панику (вызов panic!()).

Не будет никакой паники. Будет просто проглоченая ошибка (типа тут никогда её быть не может) и всё. Результат - UB. Это не лечится никакими программными проверками и костылями в синтаксисе языка.

Опять же, это отличная идея. А то половина говнокода на Си игнорирует коды возврата, а потом у нас файлы битые на диске и пакеты не досылаются.

Отличная идея до такой-же степени, как и ручные лайфтаймы. Примерно никто не пользуется в свежем коде этой «отличной» идеей. Аналогичная фигня будет и с проверками каждого чиха. Современное «фигак-фигак и в продакшн» прям заставляет забивать на всё это вот… В противном случае и в С проверяли-бы коды возврата. Но это всё не отменяет слов про обработку исключений, которые легко видно в коде и в результате неотловленного исключения получится падение программы, в отличии от .unwrap где-то в чепыжах кода.

Можешь.

Нет не можешь. Зависимости зависимостей и зависимости зависимосетй зависимостей ты не контроллируешь никак без патчей.

Как обычно, мы опровергаем только то что можно аргументировать, а остальные претензии можно и поигнорить, типа упоротого синтаксиса с костылями и велосипедами, хреновой читаемости кода из-за предыдущей претензии, двойных, тройных, пятерных включений одного и того-же кода, разных версий в результирующий бинарник и тэдэ.

Исходная версия Q-Master, :

Это отличная идея!

Отличная от чего? На каждый вызов каждый раз проверка на ошибка/не ошибка. При этом в 99.9% там нет ошибки и проверка просто жрёт время проца.

Нет, UB ты не получишь. Получишь панику (вызов panic!()).

Не будет никакой паники. Будет просто проглоченая ошибка (типа тут никогда её быть не может) и всё. Результат - UB. Это не лечится никакими программными проверками и костылями в синтаксисе языка.

Опять же, это отличная идея. А то половина говнокода на Си игнорирует коды возврата, а потом у нас файлы битые на диске и пакеты не досылаются.

Отличная идея до такой-же степени, как и ручные лайфтаймы. Примерно никто не пользуется в свежем коде этой «отличной» идеей. Аналогичная фигня будет и с проверками каждого чиха. Современное «фигак-фигак и в продакшн» прям заставляет забивать на всё это вот… В противном случае и в С проверяли-бы коды возврата. Но это всё не отменяет слов про обработку исключений, которые легко видно в коде и в результате неотловленного исключения получится падение программы, в отличии от .unwrap где-то в чепыжах кода.

Можешь.

Нет не можешь. Зависимости зависимостей ты не контроллируешь никак без патчей.