> On Feb 7, 2018, at 6:35 AM, Karen Kinnear <[email protected]> wrote: > > Paul, > > Just to make sure we are in sync for now: >
We are. > I think we are all in agreement that current Enums can not migrate to be > value types: > 1. enums have identity > 2. enums have java.lang.Enum abstract class as super-class, not > java.lang.Object > 3. there is no clear default value > 4. enums have mutable fields. > > What I think you are wondering about is if there is a role for a new kind of > type, > value-enums, that have value type characteristics. Yes, it was a thought exercise which also conveniently pushed on some other areas like static fields. Thanks, Paul. > I totally agree with John > that the is a future exercise. And if you can figure out a migration story in > future, more power to you, but we are not designing value types around that > requirement. > > A note - at least from the hotspot perspective, enums are not special-cased > and as you can imagine we are trying to minimize special cases since they > tend to be sources of bugs, so we would like to keep it that way. > > thanks, > Karen > >> On Feb 1, 2018, at 2:05 PM, John Rose <[email protected] >> <mailto:[email protected]>> wrote: >> >> On Feb 1, 2018, at 5:24 PM, Paul Sandoz <[email protected] >> <mailto:[email protected]>> wrote: >>> >>> an enum class to also explicitly be a value class >> >> Yes, it's probably doable, but we would have to work out the >> migration story, and also figure out how to manage the Enum >> supertype. Remember that one of the ongoing challenges >> of VT's is the role of Object. For value-enums, I think we >> would reprise the role for Enum. I'd rather have template >> classes under my belt before tackling that, so I could make >> Enum behave differently as an object vs. a value supertype. >> >
