This was received through amber-spec-comments. I agree with the general sentiment, especially for sealed types, where we want to define an entire sealed type hierarchy in a single compilation unit (but for whatever reason, prefer not to nest the subtypes in the super type.) There are some details to be worked out (e.g., use of the SourceFile attribute by tools).
> Begin forwarded message: > > From: Francois Green <francois.gr...@gmail.com> > Subject: Lifting the restriction on the number of public classes per file > Date: November 11, 2018 at 10:09:06 PM GMT+1 > To: amber-spec-comme...@openjdk.java.net > > In the face of the changes in code style that records will bring about, has > there been renewed discussion about lifting the restriction? > > public interface Blue; > public record IKB() implements Blue; > public record Azure() implements Blue; > public record Royal() implements Blue; > > Having to place each line in the code above in its own file seems harsh.