On Thu, 29 Jan 2026 01:34:35 GMT, Vicente Romero <[email protected]> wrote:

> javac is automatically placing the initializers of null restricted fields 
> before the super invocation. This is incorrect, null restricted fields are 
> not strict and those initializers should be placed after the super. But javac 
> will check that null restricted fields have been initialized before a super 
> invocation. This implies that null restricted fields should not have 
> initializers and users should manually initialize them in all the 
> constructors and before explicit super invocations.

test/langtools/tools/javac/nullability/NullabilityCompilationTests.java line 
597:

> 595:                 """
> 596:                 class Test {
> 597:                     Object! o = new Object();

this section was checking that non-nullable fields were strict

test/langtools/tools/javac/valhalla/value-objects/ValueObjectCompilationTests.java
 line 1066:

> 1064:             
> assertFail("compiler.err.non.nullable.should.be.initialized",
> 1065:                     """
> 1066:                     import jdk.internal.vm.annotation.Strict;

the strict annotation is being eliminated in lworld, this part was failing so I 
removed it as it will be removed anyways after we merge with lworld

-------------

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/1990#discussion_r2739458808
PR Review Comment: 
https://git.openjdk.org/valhalla/pull/1990#discussion_r2739462944

Reply via email to