LINUX.ORG.RU

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

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

В C++ всё — unsafe, начнем с этого.
В расте делается абсолютно точно так же на голых указателях, с единственной разницей, что вместо nullptr тут Option::None (оверхед не накладывает, есть специальная оптимизация).
Но все разыменования голых указателей ограничены unsafe {} и обернуты безопасной абстракцией.

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

В C++ всё — unsafe, начнем с этого.
В расте делается абсолютно точно так же на голых указателях, с единственной разницей, что вместо nullptr тут Option::None (оверхед не накладывает, есть специальная оптимизация). Но всё, где что-то может пойти не так, ограничено unsafe {} и обернуто безопасной абстракцией.