The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск языка программирования Rust 1.71 "
Отправлено Анонин, 15-Июл-23 23:06 
> Деление на ноль - валидная операция, получается nan.

А вот кстати и нет.

> а зачем он в языке?

NaN существует потому что описан в IEEE 754 в бородатом 1985. Для floating-point.
И именно поэтому тут мы NaN не получим - у нас типы целочисленные.

В rust деление на ноль вызовет панику "attempt to divide by zero", а в сишечке...

А в сишечке это UB согласно 6.5.5 Multiplicative operators:
"The result of the / operator is the quotient from the division of the first operand by the
second; the result of the % operator is the remainder. In both operations, if the value of
the second operand is zero, the behavior is undefined"

Но это никакая не валидная операция.

Вообще не очень понимаю, чем вам мешает эти NonZero?
Ну сделали тип потому что он кому-то нужен. Ну не пользуйтесь им, в чем проблема?

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру