forbidding serialization methods as members of records

Remi Forax forax at
Thu Oct 31 12:33:49 UTC 2019

> De: "Chris Hegarty" <chris.hegarty at>
> À: "Vicente Romero" <vicente.romero at>
> Cc: "amber-spec-experts" <amber-spec-experts at>
> Envoyé: Jeudi 31 Octobre 2019 13:25:53
> Objet: Re: forbidding serialization methods as members of records

>> On 31 Oct 2019, at 12:21, Vicente Romero < [ mailto:vicente.romero at |
>> vicente.romero at ] > wrote:

>> Hi,

>> In the past we discussed about forbidding the declaration of some serialization
>> related methods in records. In particular:

>> writeObject(ObjectOutputStream)
>> readObjectNoData()
>> readObject(ObjectInputStream)
>> I wonder if we still want to enforce that restriction, meaning that it should be
>> reflected in the spec, or if it is not necessary anymore,

> Where we ended up with Serializable Records, is that the runtime is specified to
> ignore these methods if they appear in a serializable record ( there are tests
> that assert this ). The javac restriction is no longer strictly necessary, but
> of course catches effectively-useless declarations early, and without resorting
> checkers, inspection, etc.

It is necessary from a user point of view to have a javac error, having something that silently fails is the worst in term of user experience. 

> -Chris.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the amber-spec-experts mailing list