Не хочу, потому-что тогда мне понадобится делать clone и copy.
Допустим я реализую какой-то типаж который принимает на вход &self
Чтобы не мучаться с *self as u8 и криками про unable move from borrowed context, необходимостью держать clone и copy для enum, я просто делаю из ссылки новую ссылку и ей немножно пользуюсь.
Собственно оно из за ссылок и загибается. Если бы ты по значению конвертил, то transmute не компилировался бы при repr(u16) и as_code(&self) -> u8 из за разности в размере. В чем проблема сделать #[derive(Clone, Copy)] для с-like enum'a?