Hey Chen,
" do you mean to implement annotation instances as value objects?"
Yes that is what I mean, although I had forgotten they were actually
instances of java.lang.reflect.Proxy!

Waiting for other changes that would allow for Annotations to be backed
more directly with Value objects is fine, I was mostly interested in if it
had been considered. Thank you for your fast response on a Saturday.

-Peter

On Sat, Feb 21, 2026 at 4:14 PM Chen Liang <[email protected]> wrote:

> Hi Peter, do you mean to implement annotation instances as value objects?
>
> This seems possible specifiation-wise, but since annotations from core
> reflection are implemented with java.lang.reflect.Proxy, there are
> serialization incompatibility risks. (This risk also blocks a few other
> annotation improvement proposals) Other risks may exist too.
>
> So I think the situation is:
> 1. User can start implementing annotations with value objects
> 2. The JDK won't consider migrating builtin annotations for now
> 3. The door to future migration of builtin annos remain open, but we need
> to identify and resolve blockers, and is likely of lower priority given
> resource constraints
>
> Regards
>
> On Sat, Feb 21, 2026, 17:04 Peter Eastham <[email protected]> wrote:
>
>> Since this request feels a bit early in the preview lifecycle I'll try to
>> keep it brief. I decided to bring it up as it would likely involve a
>> Specification Update and I have no idea how long that takes to outline.
>>
>> Have annotations been considered for the value modifier? My thought
>> process here is that the identity of a given annotation isn't particularly
>> useful, and the immutable behavior of Annotations mean they fall into a
>> similar bucket as Records, where Identity *could* be useful, but not
>> necessary.
>>
>> I tried to scrub over some of the resources, but I couldn't find if this
>> topic had been covered.
>>
>> Thanks,
>> -Peter Eastham
>>
>

Reply via email to