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