3 ms·
This sounds like a great example of where you might want a union (https://doc.rust-lang.org/1.56.0/reference/items/unions.html https://doc.rust-lang.org/1.56.0/
by lilyball 5y ago
This sounds like a great example of where you might want a union (https://doc.rust-lang.org/1.56.0/reference/items/unions.html https://doc.rust-lang.org/1.56.0/reference/items/unions.html)
- luizfelberti 5y agoOoh I forgot the language had those! I still feel like this trick has it's place though, as an example take a look at where I stole this trick from, by matklad [0] and tell me what you think :) [0] https://github.com/rust-analyzer/rowan/blob/d2c7843858da9d9e378de790bd14487c848f6f2e/examples/s_expressions.rs#L51 https://github.com/rust-analyzer/rowan/blob/d2c7843858da9d9e...
- lilyball 5y agoI think that this code is acceptable as long as you're careful. And I wish Rust had a `#[derive(TryFrom)]` sort of thing for deriving conversions from the declared primitive type to the enum.