> From: "John Rose" <[email protected]>
> To: "Brian Goetz" <[email protected]>
> Cc: "daniel smith" <[email protected]>, "valhalla-spec-experts"
> <[email protected]>
> Sent: Wednesday, July 13, 2022 10:23:50 PM
> Subject: There are five buckets now

> FTR, I’m really happy with the user model as of this point.

> The things I like best about it are:

[...] 

>     * Object::getClass returns a predictable ref-mirror (I always wanted that)

so we have to tweak the return type of getClass() to it returns something like 
Class<? extends Erasure[T.ref]> and also C.val.class has to be typed Class<C>. 

> — John

Rémi 

> On 13 Jun 2022, at 16:04, Brian Goetz wrote:
>> I've done a little more shaking of this tree. It involves keeping the notion
>> that the non-identity buckets differ only in the treatment of their val
>> projection, but makes a further normalization that enables the buckets to
>> mostly collapse away.

>> "value class X" means:

>> - Instances are identity-free
>> - There are two types, X.ref (reference, nullable) and X.val (direct,
>> non-nullable)
>> - Reference types are atomic, as always
>> - X is an alias for X.ref
>> …

Reply via email to