Chris: Let's try to find some time on Monday to sort out the spec regarding serialisation. Okay?
Thanks, Gavin > On 8 Nov 2019, at 17:11, Chris Hegarty <chris.hega...@oracle.com> wrote: > > Gavin, > >> On 8 Nov 2019, at 15:28, Gavin Bierman <gavin.bier...@oracle.com >> <mailto: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 > <http://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. > > > >