EG meeting, 2021-11-17

Kevin Bourrillion kevinb at google.com
Thu Nov 18 02:04:19 UTC 2021


On Wed, Nov 17, 2021 at 11:16 AM Dan Heidinga <heidinga at redhat.com> wrote:

> For the moment I think this does probably carry over to
> WithIdentity/WithoutIdentity or whatever they are called. The question I
> think is still open (to me) is whether there really are active contractual
> implications of being identityless or if it's equivalent to being
> uncommitted; i.e. should a clear-cut identityless class still be able to
> have an identityful subclass, or does that clearly break something.
>
> It breaks flattening.  If an identityless class is flattened - and we
> want to preserve the option to do this for bucket 2 values that are <=
> 64 bits - then we can't assign a subclass instance to a slot (field /
> array element) declared to be the superclass's type as we may have to
> truncate the subclass to have it fit.
>

Right. I guess I was figuring that the mere fact of the idenityless class
being non-final would already destroy that?

Supposing this justifies requiring `final` for these classes, then my
question evaporates. I wasn't sure though. Even losing flattening entirely
doesn't leave you worse off than B1.


-- 
Kevin Bourrillion | Java Librarian | Google, Inc. | kevinb at google.com


More information about the valhalla-spec-observers mailing list