Re:Union types ('enum types') would be complicated in Go
by mrgriffin on Saturday December 07, 2024 @04:00AM
(#42348345)
> doesn't run against the grain of the entire language
Not an expert, but my gut says maybe it runs against zero values? As in, "what's the zero value for a non-nullable reference?" Maybe the answer is something like "you can only use this type for parameters", but that seems very limiting.
Re:Union types ('enum types') would be complicated in Go
by rudiksz on Saturday December 07, 2024 @05:15AM
(#42348688)
Half of the language is already non-nullable and is accomplished by allowing for zero values. Non pointer variables are guaranteed to be never nil.
What is missing is the ability to have pointer variables and have the compiler ensure that it will be never nil. I believe this was a design choice, not some technical limitation.
This doesn't cover everything people might want to do with unions, but it covers the billion-dollar mistake and doesn't run against the grain of the entire language (as far as I know)