The goal of this effort is to make nesting of static members more uniform by eliminating such "gratuitous" restrictions, so this seems within the spirit.

On 11/17/2020 9:03 AM, Maurizio Cimadamore wrote:
Hi,
now that the work on allowing static members in nested declarations [1] is wrapping up, I'm wondering if we could add treatment for one more case: static initializers in interfaces. This seems a case where the static compiler is already inserting static blocks (to initialize any static fields an interface might declare), but where the JLS is currently forbidding interfaces from having an explicit static initializer block in the source code. This make e.g. initialization of fields which might throw exceptions (e.g. method handles) not possible inside interfaces. While I realize this is a corner case, I thought it would still be worth asking the question :-)

Cheers
Maurizio

[1] - https://git.openjdk.java.net/jdk/pull/571


Reply via email to