но у меня не получилось. Как ограничить тип не всем енумом, а каким-то определённым его вариантом?
Никак
А как поступают опытные разработчики, когда встаёт такая необходимость? Создают ещё один внутренний тип-враппер с полями енума, а в варианте енума вставляют вместо тех полей, что были, этот тип? Или есть более изящное решение
Да, tuple variant со структурой это распространённый паттерн
Понял, спасибо. Этого и боялся. Неужели не было про это RFC? Любопытно было бы почитать причины отказа
https://github.com/rust-lang/rfcs/pull/2593
Спасибо за ссылку!
Обсуждают сегодня