1
0
mirror of https://github.com/golang/go synced 2024-11-17 00:24:48 -07:00

errors: improve the godoc for Join and Unwrap

Document that errors returned by Join always implement Unwrap []error.

Explicitly state that Unwrap does not unwrap errors
with an Unwrap() []error method.

Change-Id: Id610345dcf43ca54a9dde157e56c5815c5112073
GitHub-Last-Rev: 7a0ec450bd
GitHub-Pull-Request: golang/go#59301
Reviewed-on: https://go-review.googlesource.com/c/go/+/480021
Run-TryBot: Emmanuel Odeke <emmanuel@orijtech.com>
Auto-Submit: Emmanuel Odeke <emmanuel@orijtech.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
This commit is contained in:
Daniel Nephin 2023-03-30 16:00:15 +00:00 committed by Gopher Robot
parent 443eb9757c
commit c0fd7f79fe
2 changed files with 4 additions and 1 deletions

View File

@ -10,6 +10,8 @@ package errors
// The error formats as the concatenation of the strings obtained // The error formats as the concatenation of the strings obtained
// by calling the Error method of each element of errs, with a newline // by calling the Error method of each element of errs, with a newline
// between each string. // between each string.
//
// A non-nil error returned by Join implements the Unwrap() []error method.
func Join(errs ...error) error { func Join(errs ...error) error {
n := 0 n := 0
for _, err := range errs { for _, err := range errs {

View File

@ -12,7 +12,8 @@ import (
// type contains an Unwrap method returning error. // type contains an Unwrap method returning error.
// Otherwise, Unwrap returns nil. // Otherwise, Unwrap returns nil.
// //
// Unwrap returns nil if the Unwrap method returns []error. // Unwrap only calls a method of the form "Unwrap() error".
// In particular Unwrap does not unwrap errors returned by [Join].
func Unwrap(err error) error { func Unwrap(err error) error {
u, ok := err.(interface { u, ok := err.(interface {
Unwrap() error Unwrap() error