Hello, Quick question, out of curiosity: how would it behave with respect to inheritance? Can a @Immutable class inherit from an non immutable one? if no: that's a bit annoying, no? (fake immutability) Can @Immutable class be subclassed to a non @Immutable one? if no: that's a bit annoying too, no? (downcasting)
Since Object is the super class of everything, it sounds like a problem. What have you thought about to handle this concern? Regards, Justin Dekeyser On Thu, Nov 25, 2021 at 9:08 AM Alberto Otero Rodríguez <albest...@hotmail.com> wrote: > > Hi, I was thinking that it could be interesting adding an @Immutable > annotation to Java. It would be a marker annotation for the compiler (similar > to @FunctionalInterface) in order to throw an error if the annotated > class/record has a component that is not @Immutable. > > This means that all existing immutable objects (like the primitive-wrapping > objects and String) should be annotated with @Immutable and the programmer > could, for example, annotate a new record object with @Immutable only if all > its fields are annotated with @Immutable. > > What do you think? > > Regards, > > Alberto Otero Rodríguez.