On 10/31/19 8:33 AM, Remi Forax wrote:


------------------------------------------------------------------------

    *De: *"Chris Hegarty" <chris.hega...@oracle.com>
    *À: *"Vicente Romero" <vicente.rom...@oracle.com>
    *Cc: *"amber-spec-experts" <amber-spec-experts@openjdk.java.net>
    *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
        <vicente.rom...@oracle.com <mailto:vicente.rom...@oracle.com>>
        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.

would a warning be an option?


    -Chris.


Rémi

Vicente

Reply via email to