Gavin, > On 8 Nov 2019, at 15:28, Gavin Bierman <gavin.bier...@oracle.com> wrote: > > ... > http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jls.html > > <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jls.html> Looks good. A comment relating to Serialization, from section 8.10.1 - Record Components.
As all record types are subclasses of the class java.lang.Record which in turn implements the interface java.io.Serializable, it is necessary to … This is not true. j.i.Record does not implement Serializable. Not all records are serializable. A record may be serializable, if it implements the java.io.Serializable interface, but it is not required. For example, record SerializableFoo (int x, int y) implements java.io.Serializable { } Additionally, I thought that all serialization related magic members were to be restricted from being record component names ( they are just too odd and potentially confusing ) ? The spec has some, but not all. The complete list ( of 7 ) is: writeObject, readObject, readObjectNoData, writeReplace, readResolve, serialVersionUID, serialPersistentFields. -Chris.