> From: "Archie Cobbs" <[email protected]> > To: "attila kelemen85" <[email protected]> > Cc: "Amazing Code" <[email protected]>, "amber-dev" > <[email protected]> > Sent: Saturday, January 24, 2026 3:07:47 PM > Subject: Re: Incident Report 9079511: Java Language Enhancement: Disallow > access > to static members via object references
> Funny you should mention that... :) > In JDK 26+ you will be able to do this via flags like -Werror:static > See [ https://bugs.openjdk.org/browse/JDK-8349847 | > https://bugs.openjdk.org/browse/JDK-8349847 ] for details. > -Archie IDEs were able to do that since a long time, it was long overdue. Soon we will be able to turn those nullcheck warnings into errors. Thanks Archie. Rémi > On Sat, Jan 24, 2026 at 7:08 AM Attila Kelemen < [ > mailto:[email protected] | [email protected] ] > wrote: >>> My $0.02: This is an easy call. The answer is that it's not worth changing >>> because (b) this would cause legacy to to start failing to compile, which is >>> violates Java's stellar reputation for backward compatibility, and (b) >>> there is >>> already a perfectly reasonable workaround, i.e. -Xlint:static -Werror . >> I'm not arguing that the original request should be implemented and break >> existing code (bad as they are). However, this suggestion doesn't really >> work, >> because javac doesn't support different sets of values for `Werror` and for >> mere warnings. That is, I usually want to turn on almost everything for >> `Xlint` >> , but I definitely don't want every warning to be an error (most notably, I >> don't want `@deprecated` to immediately fail compilation, but I want it to be >> reported as a warning). > -- > Archie L. Cobbs
