+1 from me too, and generally to heal the rift. The inability to put private classes (and other “stuff”) in an interface makes it hard to support canonical algorithms in default methods, if they need auxiliary types.
> On Nov 17, 2020, at 6:03 AM, Maurizio Cimadamore > <maurizio.cimadam...@oracle.com> 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 >