encoding: document when marshaling methods can be added

Fixes #10275

Change-Id: I2b3d54f3eb0f85d65324ddc3c3b2a797d42a16c9
Reviewed-on: https://go-review.googlesource.com/c/go/+/496537
Run-TryBot: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
Sean Liao 2023-05-21 15:16:48 +01:00 committed by Gopher Robot
parent 3c3a883667
commit c0af7cd05f

View File

@ -9,6 +9,12 @@
// interface once can make a type useful in multiple encodings. // interface once can make a type useful in multiple encodings.
// Standard types that implement these interfaces include time.Time and net.IP. // Standard types that implement these interfaces include time.Time and net.IP.
// The interfaces come in pairs that produce and consume encoded data. // The interfaces come in pairs that produce and consume encoded data.
//
// Adding encoding/decoding methods to existing types may constitute a breaking change,
// as they can be used for serialization in communicating with programs
// written with different library versions.
// The policy for packages maintained by the Go project is to only allow
// the addition of marshaling functions if no existing, reasonable marshaling exists.
package encoding package encoding
// BinaryMarshaler is the interface implemented by an object that can // BinaryMarshaler is the interface implemented by an object that can