3 ms·
> Tag structs are laborious... Rust should rebase its type system to have union types, i.e., foo: i32 | f32. Rust has ADTs, so I'm not sure what you're saying
by creata 4y ago
> Tag structs are laborious... Rust should rebase its type system to have union types, i.e., foo: i32 | f32.
Rust has ADTs, so I'm not sure what you're saying here. Can you expand on how you think unions would make code nicer than disjoint unions? They definitely make generics much harder to think about for me.
- komadori 4y agoPerhaps they mean anonymous (discriminated) unions of some kind with that syntax?
- consilient 4y agoADTs = discriminated unions + tuples. They likely mean undiscriminated unions, as in typescript.
- nephanth 4y agoBut since rust is compiled, in practice that would be like C unions, right? A pain to work with I mean typescript has those because the underlying runtime is Javascript, which tracks the types of stuff and handles some kind of polymorphism, so you can get away with undiscriminated unions because the runtime is doing the job of discriminating them