Newtypes в Rust делают некорректные состояния невыразимыми на этапе компиляции бесплатно
Однополевая обёрточная структура ловит баги смешения единиц измерения и путаницу типов, не добавляя ни одного байта накладных расходов.
Передайте с идентификатором пользователя в функцию, которая ожидает идентификатор заказа, и Rust не пожалуется. Оба типа — . Компилятор видит одинаковые типы,…