> On Nov 22, 2017, at 2:42 AM, Remi Forax <fo...@univ-mlv.fr> wrote:
> 
> I think we do not need Q types, Q types are use site annotations, and here we 
> want declaration site annotations (let say that this class is a value class, 
> the ACC_VALUE).
> 
> If we have no Q type, it means that R types and U types are the same thing, 
> everything is a U type. In term of migration, it means that L types need to 
> have their semantics extended to work as U types.

Yeah. We discussed this and I mentioned it in the notes, but it could use a 
deeper exploration at some point.

As a minimum, there probably needs to be *some* way to indicate that a field 
can be flattened and may not be null. If a field has a U type, the referenced 
class would have to be loaded before we could tell if it's referencing a value 
class or not, and that's costly.

—Dan

Reply via email to