aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/encoding.go
diff options
context:
space:
mode:
authorSean Liao <sean@liao.dev>2023-05-21 15:16:48 +0100
committerGopher Robot <gobot@golang.org>2023-05-23 19:43:37 +0000
commitc0af7cd05f75d1ac6540bf41bbe9984a0fd35be2 (patch)
tree086ce25e5a0fb21450587c7581383c228ca5e73f /src/encoding/encoding.go
parent3c3a883667390c2f03dffb3fdcb4fa4172cb23e6 (diff)
downloadgo-c0af7cd05f75d1ac6540bf41bbe9984a0fd35be2.tar.xz
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>
Diffstat (limited to 'src/encoding/encoding.go')
-rw-r--r--src/encoding/encoding.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/encoding/encoding.go b/src/encoding/encoding.go
index cc5a536996..50acf3c23a 100644
--- a/src/encoding/encoding.go
+++ b/src/encoding/encoding.go
@@ -9,6 +9,12 @@
// interface once can make a type useful in multiple encodings.
// Standard types that implement these interfaces include time.Time and net.IP.
// 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
// BinaryMarshaler is the interface implemented by an object that can