Revisiting default values

Dan Smith daniel.smith at
Fri Jul 10 20:02:02 UTC 2020

> On Jul 10, 2020, at 12:46 PM, Kevin Bourrillion <kevinb at> wrote:
> My reason for complaining here is not just about the java.time types themselves, but to argue that this is an important 4th bucket we should be concerned about. In some ways it is a bigger problem that Bucket #3 "no good default", since it is an actively harmful default.
> For all of these types, there is one really fantastic default value that does everything you would want it to do: null. That is why these types should not become inline types, or certainly not val-default inline types, and why Error Prone will have to ban usage of `.val` if they do.

Appreciate the thoughts, this is definitely relevant.

For the purpose of this discussion, I'd say you're arguing for these classes to move to Bucket #3. Because then the question becomes, just like for the other classes there: do we use the Bucket #3 strategies to support these as inline classes, or do we give up and leave them as identity classes?

More information about the valhalla-spec-observers mailing list