> On Aug 5, 2026, at 6:29 AM, Oleg Estekhin <[email protected]> wrote:
> 
> What i have tried:
> - compiling on 26, running on 27-jep401ea3 - works.
> - compiling on 26, running on 27-jep401ea3 **preview** - works.
> - compiling on 27-jep401ea3, running on 27-jep401ea3 - works.
> - compiling on 27-jep401ea3 **preview**, running under 27-jep401ea3
> **preview** - works with `-Xverify:none`.
> - replacing EVERY `record` with `value record`, compiling on 27-jep401ea3
> **preview**, running under 27-jep401ea3 **preview** - works.
> 
> "Works" means, that, after some minor adjustments in the murkier parts of
> the code, our project compiles and passes all unit tests, and also runs and
> passes all e2e tests.

That’s a really positive report, good to hear!

> ### self-referencing constructor (even without preview)
> 
> https://github.com/estekhin/playground-valhalla/tree/main/valhalla-ea-self-referencing-constructor-compilation-failure
> 
> We had some classes with constructors that pass constructor ref to the
> super, like
> ```java
> SelfReferencingByConstructorRef() {
>    super(SelfReferencingByConstructorRef::new);
> }
> ```
> which works under 26/27ea/28ea b9, but fails under 27-jep401ea3 with
> `reference to null may only appear after an explicit constructor
> invocation`.
> 
> The code is questionable in the first place, but at least it is easy to fix
> by introducing a static wrapper over the call to constructor.
> 
> https://github.com/estekhin/playground-valhalla/tree/main/valhalla-ea-separate-compilation-failure
> 

Looks like this one is fixed in mainline.

In a day or two, there should be an updated 28 EA published here that includes 
all the JEP 401 code:

https://jdk.java.net/28/

You should try again with that updated bundle and see how these issues look 
then.

Reply via email to