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