On Sat, 18 Oct 2025 01:04:37 GMT, ExE Boss <[email protected]> wrote:

>> src/java.base/share/classes/java/lang/LazyConstant.java line 161:
>> 
>>> 159:  * to a lazy constant or if there is a chain from a {@code static 
>>> final} field -- via one
>>> 160:  * or more <em>trusted fields</em> (i.e., {@code static final} fields,
>>> 161:  * {@linkplain Record record} fields, lazy constants, lazy lists, lazy 
>>> maps,
>> 
>> lazy constants and lazy lists/maps are not themselves "trusted final fields" 
>> (at least not yet), so not sure they belong here?
>
> The `@Stable` annotation makes fields with non‑`null` values into trusted 
> fields when the class is loaded by a platform class loader.

There could be a chain: `static final` -> record component -> lazy list element 
-> record component, for example, and this would be a trusted chain. There are 
other constucts that could be in the chain as well and that are not mentioned 
(e.g. a `List.of()`) so perhaps we should do some change here. Easiest is to 
just remove the mention of lazy*.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27605#discussion_r2450745732

Reply via email to