From c0af7cd05f75d1ac6540bf41bbe9984a0fd35be2 Mon Sep 17 00:00:00 2001 From: Sean Liao Date: Sun, 21 May 2023 15:16:48 +0100 Subject: [PATCH] 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 TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor Auto-Submit: Ian Lance Taylor Reviewed-by: Matthew Dempsky --- src/encoding/encoding.go | 6 ++++++ 1 file changed, 6 insertions(+) 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 -- 2.48.1