LINUX.ORG.RU

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

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

Все же этим свойством пользуются, Option из Rust оптимизирует Empty как NULL если у него T указатель.

Вообще, тут в треде возникла путаница. Есть NULL в C как отдельное свойство системы указателей и есть просто нулевой указатель. И это должны быть два совершенно разных концепта. @alysnix вон уже пошёл тирады двигать про особенные контроллеры памяти, бросающие исключение ему в штаны, и его фантазиям можно только позавидовать.

Я повторю свой тезис в максимально сжатом виде: на уровне языка не должно быть никаких специальных указателей, а ошибки должны возвращаться явно с использованием системы типов. Как именно это всё представлено после компиляции в машинном коде, на самом деле, вообще насрать 10 раз.

У тебя готовый, оптимизированный, машинный Option. Еще он не зависит от языка, и даже если в ассемблере ты допустишь ошибку с NULL, программа быстро вылетит.

Это не Option. Ты бы ещё нулевой делитель назвал Option. Ведь при делении на 0 тоже программа быстро вылетит.

даже если в ассемблере ты допустишь ошибку с NULL, программа быстро вылетит.

Алсо, смотри-ка, не вылетела!

Исправление hateyoufeel, :

Все же этим свойством пользуются, Option из Rust оптимизирует Empty как NULL если у него T указатель.

Вообще, тут в треде возникла путаница. Есть NULL в C как отдельное свойство системы указателей и есть просто нулевой указатель. И это должны быть два совершенно разных концепта. @alysnix вон уже пошёл тирады двигать про особенные контроллеры памяти, бросающие исключение ему в штаны, и его фантазиям можно только позавидовать.

Я повторю свой тезис в максимально сжатом виде: на уровне языка не должно быть никаких специальных указателей, а ошибки должны возвращаться явно с использованием системы типов. Как именно это всё представлено после компиляции в машинном коде, на самом деле, вообще насрать 10 раз.

У тебя готовый, оптимизированный, машинный Option. Еще он не зависит от языка, и даже если в ассемблере ты допустишь ошибку с NULL, программа быстро вылетит.

Это не Option. Ты бы ещё нулевой делитель назвал Option. Ведь при делении на 0 тоже программа быстро вылетит.

Исправление hateyoufeel, :

Все же этим свойством пользуются, Option из Rust оптимизирует Empty как NULL если у него T указатель.

Вообще, тут в треде возникла путаница. Есть NULL в C как отдельное свойство системы указателей и есть просто нулевой указатель. И это должны быть два совершенно разных концепта. @alysnix вон уже пошёл тирады двигать про особенные контроллеры памяти, бросающие исключение ему в штаны, и его фантазиям можно только позавидовать.

Я повторю свой тезис в максимально сжатом виде: на уровне языка не должно быть никаких специальных указателей, а ошибки должны возвращаться явно с использованием системы типов. Как именно это всё представлено после компиляции в машинном коде, на самом деле, вообще насрать 10 раз.

Исправление hateyoufeel, :

Все же этим свойством пользуются, Option из Rust оптимизирует Empty как NULL если у него T указатель.

Вообще, тут в треде возникла путаница. Есть NULL в C как отдельное свойство системы указателей и есть просто нулевой указатель. И это должны быть два совершенно разных концепта. @alysnix вон уже пошёл тирады двигать про особенные контроллеры памяти, бросающие исключение ему в штаны, и его фантазиям можно только позавидовать.

Я повторю свой тезис в максимально сжатом виде: на уровне языка не должно быть никаких специальных указателей, а ошибки должны возвращаться явно с использованием системы типов.

Исходная версия hateyoufeel, :

Все же этим свойством пользуются, Option из Rust оптимизирует Empty как NULL если у него T указатель.

Вообще, тут в треде возникла путаница. Есть NULL в C как отдельное свойство системы указателей и есть просто нулевой указатель. И это должны быть два совершенно разных концепта. @alysnix вон уже пошёл тирады двигать про особенные контроллеры памяти, бросающие исключение ему в штаны, и его фантазиям можно только позавидовать.

Я повторю свой тезис в максимально сжатом виде: на уровне языка не должно быть никаких специальных указателей.