amarao: (Default)
amarao ([personal profile] amarao) wrote2021-10-08 11:45 am

Rust soundness

Каждый раз, когда я сталкиваюсь с маленькими "но" в Rust'е, это ощущение тщательной продуманности. Например, простейшие fold-функции для итераторов: sum, min, max, any. Например, что должен вернуть max для пустого списка?

В питоне? Enjoy your ValueError exception.

В Rust'е? Max возвращает Some с результатом. Или None (который вариант от Option, а не абстрактный синглтон None).
yurikhan: (Default)

[personal profile] yurikhan 2021-10-08 01:19 pm (UTC)(link)

Насчёт того, что min должен возвращать type::MIN - возражу

А я этого и не говорил. Наоборот, min({}) = type::MAX, max({}) = type::MIN. Если билетов нет, то оптимальная цена — плюс бесконечность. Если кабачки никто не хочет брать, будем отдавать бесплатно.