> Type variables can thus range over almost any type I'm curious what exceptions you had in mind there. void?
The "Null pollution and null warnings" section mentions > A warning occurs when a non-final field with a type variable type is left uninitialized by a constructor. which made me wonder: Are there any bounds where this warning isn't necessary? For example, what about <T extends IdentityObject>? I think the "Reference type variable types" section covers that, but maybe the prior section could be worded less universally. "with a type variable type that could be instantiated with a primitive type" or something. On Tue, Jun 8, 2021 at 2:21 PM Dan Smith <daniel.sm...@oracle.com> wrote: > Please see this JEP draft: > > http://openjdk.java.net/jeps/8261529 > > This is the third anticipated piece in our initial suite of Valhalla > preview features (along with JEPs 401 and 402). It's also the first step in > the revised generics story, to be followed up in the future with JVM > enhancements for better performance (including species & type restrictions). > > This is entirely a language enhancement, and will be experienced by > developers as a number of new warnings for generic classes and methods. > Addressing the warnings makes generic APIs interoperate smoothly with > primitive value types and prepares them for the future JVM enhancements. > >