> Secondly, it's hard to imagine there being any unforeseen consequences of 
> switching on a long. Here, I don't really know how to think it through yet. I 
> would appreciate any "here's how we know that the changes we need to support 
> this will have no user-visible consequences at all except for X, Y, and Z" 
> type of explanation we have (apologies if I missed it).

Since you’re always on the lookout for “how can we use the Google codebase to 
answer questions about this”, here’s one: look for classes that implement the 
“type safe enum pattern” — ones with an inaccessible constructor, and a pile of 
pre-baked instances stuffed in static fields.  Then ask yourself, why wasn’t 
this class an enum?  And ask: could some of the complexity of that class go 
away with enhanced enums?  


Reply via email to