On Aug 31, 2022, at 11:54 AM, Dan Smith <[email protected]<mailto:[email protected]>> wrote:
On Aug 30, 2022, at 12:42 PM, Dan Smith <[email protected]<mailto:[email protected]>> wrote: On Aug 30, 2022, at 12:18 PM, Dan Smith <[email protected]<mailto:[email protected]>> wrote: FYI, I've made some minor fixes to the JLS change document supporting Value Objects, published here: http://cr.openjdk.java.net/~dlsmith/jep8277163/latest One change I'll need to make: an interface is not a functional interface if it is `identity` or `value`; but this should also be the case if any *superinterface* is `identity` or `value`. (Ultimately, the implementation should be free to generate identity objects or value objects to encode lambdas and method references.) And another (just want to memorialize these so I can fix them later): rule in 8.1.1 about 'final' conflicting with 'sealed' also applies to the implicit 'final' of a concrete value class. (More generally, anywhere 'final' is mentioned as a class modifier, need to be sure it's clear that this includes the implicit 'final'.)
