aboutsummaryrefslogtreecommitdiff
path: root/src/errors
diff options
context:
space:
mode:
authorDamien Neil <dneil@google.com>2025-12-22 16:35:42 -0800
committerGopher Robot <gobot@golang.org>2025-12-23 10:03:09 -0800
commit1b3db48db7afc3fe17440af28cdeac67a0d048f1 (patch)
tree033bba6f170f859e1e9c42a9b22a3a7412e2d9f4 /src/errors
parentb6b8b2fe6ef8ceb727c7a157750cdd4e61393489 (diff)
downloadgo-1b3db48db7afc3fe17440af28cdeac67a0d048f1.tar.xz
Revert "errors: optimize errors.Join for single unwrappable errors"
This reverts CL 635115. Reason for revert: The new behavior does not match the function documentation. Fixes #76961 Change-Id: If2450aa4efba28c7a12887a5b306c231a836e740 Reviewed-on: https://go-review.googlesource.com/c/go/+/731981 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Damien Neil <dneil@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'src/errors')
-rw-r--r--src/errors/join.go10
-rw-r--r--src/errors/join_test.go34
2 files changed, 0 insertions, 44 deletions
diff --git a/src/errors/join.go b/src/errors/join.go
index 08a79867c6..730bf7043c 100644
--- a/src/errors/join.go
+++ b/src/errors/join.go
@@ -27,16 +27,6 @@ func Join(errs ...error) error {
if n == 0 {
return nil
}
- if n == 1 {
- for _, err := range errs {
- if _, ok := err.(interface {
- Unwrap() []error
- }); ok {
- return err
- }
- }
- }
-
e := &joinError{
errs: make([]error, 0, n),
}
diff --git a/src/errors/join_test.go b/src/errors/join_test.go
index 439b372ca0..4828dc4d75 100644
--- a/src/errors/join_test.go
+++ b/src/errors/join_test.go
@@ -70,37 +70,3 @@ func TestJoinErrorMethod(t *testing.T) {
}
}
}
-
-func BenchmarkJoin(b *testing.B) {
- for _, bb := range []struct {
- name string
- errs []error
- }{
- {
- name: "no error",
- },
- {
- name: "single non-nil error",
- errs: []error{errors.New("err")},
- },
- {
- name: "multiple errors",
- errs: []error{errors.New("err"), errors.New("newerr"), errors.New("newerr2")},
- },
- {
- name: "unwrappable single error",
- errs: []error{errors.Join(errors.New("err"))},
- },
- {
- name: "nil first error",
- errs: []error{nil, errors.New("newerr")},
- },
- } {
- b.Run(bb.name, func(b *testing.B) {
- b.ReportAllocs()
- for i := 0; i < b.N; i++ {
- _ = errors.Join(bb.errs...)
- }
- })
- }
-}