История изменений
Исправление Q-Master, (текущая версия) :
Это отличная идея!
Отличная от чего? На каждый вызов каждый раз проверка на ошибка/не ошибка. При этом в 99.9% там нет ошибки и проверка просто жрёт время проца.
Нет, UB ты не получишь. Получишь панику (вызов panic!()).
Не будет никакой паники. Будет просто проглоченая ошибка (типа тут никогда её быть не может) и всё. Результат - UB. Это не лечится никакими программными проверками и костылями в синтаксисе языка.
Опять же, это отличная идея. А то половина говнокода на Си игнорирует коды возврата, а потом у нас файлы битые на диске и пакеты не досылаются.
Отличная идея до такой-же степени, как и ручные лайфтаймы. Примерно никто не пользуется в свежем коде этой «отличной» идеей. Аналогичная фигня будет и с проверками каждого чиха. Современное «фигак-фигак и в продакшн» прям заставляет забивать на всё это вот… В противном случае и в С проверяли-бы коды возврата. Но это всё не отменяет слов про обработку исключений, которые легко видно в коде и в результате неотловленного исключения получится падение программы, в отличии от .unwrap где-то в чепыжах кода.
Можешь.
Нет не можешь. Зависимости зависимостей и зависимости зависимосетй зависимостей ты не контроллируешь никак без патчей.
Как обычно, мы опровергаем только то что можно аргументировать, а остальные претензии можно и поигнорить, типа упоротого синтаксиса с костылями и велосипедами, хреновой читаемости кода из-за предыдущей претензии, двойных, тройных, пятерных включений одного и того-же кода, разных версий в результирующий бинарник и тэдэ.
Исходная версия Q-Master, :
Это отличная идея!
Отличная от чего? На каждый вызов каждый раз проверка на ошибка/не ошибка. При этом в 99.9% там нет ошибки и проверка просто жрёт время проца.
Нет, UB ты не получишь. Получишь панику (вызов panic!()).
Не будет никакой паники. Будет просто проглоченая ошибка (типа тут никогда её быть не может) и всё. Результат - UB. Это не лечится никакими программными проверками и костылями в синтаксисе языка.
Опять же, это отличная идея. А то половина говнокода на Си игнорирует коды возврата, а потом у нас файлы битые на диске и пакеты не досылаются.
Отличная идея до такой-же степени, как и ручные лайфтаймы. Примерно никто не пользуется в свежем коде этой «отличной» идеей. Аналогичная фигня будет и с проверками каждого чиха. Современное «фигак-фигак и в продакшн» прям заставляет забивать на всё это вот… В противном случае и в С проверяли-бы коды возврата. Но это всё не отменяет слов про обработку исключений, которые легко видно в коде и в результате неотловленного исключения получится падение программы, в отличии от .unwrap где-то в чепыжах кода.
Можешь.
Нет не можешь. Зависимости зависимостей ты не контроллируешь никак без патчей.