▲ | 1718627440 2 days ago | ||||||||||||||||
> Rust has its uint-thats-not-zero Why do we need to single out a specific value. It would be way better if we also could use uint-without-5-and-42. What I would wish for is type attributes that really belong to the type.
| |||||||||||||||||
▲ | int_19h 2 days ago | parent | next [-] | ||||||||||||||||
Proper union types would get you there. If you have them, then each specific integer constant is basically its own type, and e.g. uint8 is just (0|1|2|...|255). So long as your type algebra has an operator that excludes one of the variants from the union to produce a new one, it's trivial to exclude whatever, and it's still easy for the compiler to reason about such types and to provide syntactic sugar for them like 0..255 etc. | |||||||||||||||||
▲ | steveklabnik 2 days ago | parent | prev [-] | ||||||||||||||||
Those are the unstable attributes that your sibling is talking about. | |||||||||||||||||
|