LINUX.ORG.RU

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

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

Только вот аналог nullptr невозможно будет разыменовать.

Это уже другой вопрос.

Это главный вопрос.

Нам нужно указать, что ссылка пустая (невалидная, не ссылается ни на что). Эта возможность фундаментальна

Нет. Это именно то, в чем раскаивался Хоар. Ссылка должна иметь _только валидные_ значения. То, что невалидно - это не ссылка.

Нам нужно защититься от обращения по пустой ссылке.

Невозможность обращения автоматически вытекает из предыдущего пункта.

Бесполезно спорить о том, что если бы язык изначально поддерживал AlgDT с паттерн-матчингом, то необходимости в ссылках со значением Void не было бы

Зато можно поговорить о причинах и последствиях сознательного исключения union types.

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

Только вот аналог nullptr невозможно будет разыменовать.

Это уже другой вопрос.

Это главный вопрос.

Нам нужно указать, что ссылка пустая (невалидная, не ссылается ни на что). Эта возможность фундаментальна

Нет. Это именно то, в чем раскаивался Хоар. Ссылка должна иметь _только валидные_ значения. То, что невалидно - это не ссылка.

Нам нужно защититься от обращения по пустой ссылке.

Это автоматически вытекает из предыдущего пункта.

Бесполезно спорить о том, что если бы язык изначально поддерживал AlgDT с паттерн-матчингом, то необходимости в ссылках со значением Void не было бы

Зато можно поговорить о причинах и последствиях сознательного исключения union types.