и обратно?
Зачем макрос? enum Enum { Foo = 3, Bar = 2, Baz = 1, }
а обратно как? Сейчас я реализую TryFrom<i32> вручную
А, тогда вот пример: https://enodev.fr/posts/rusticity-convert-an-integer-to-an-enum.html Без макросов это обычно решается через большой match
или if в диапазоне + transmute (unsafe) (просто так меньше писать 😃)
Это я могу и на С++ написать, зачем мне тогда раст? 🌚
на c++? ну, через union + некоторый числовой идентификатор завернутый в структуру с union + множество вариантов сделать ошибку.. зачем все это когда есть раст в котором это тупо проще(в пару строк и через match..)? 😁
Зачем юнион? reinterpret_cast и копить на новый протез для левой ноги)
реинтерпрет каст наше все
Си-каст короче и заборестее )
https://crates.io/crates/enum-primitive-derive Я использую такое, удобное
Как я понял тоже стандартный tryfrom не реализует автоматом (
Да как нет-то? Всё реализует.
Обсуждают сегодня