-
Notifications
You must be signed in to change notification settings - Fork 18k
errors: clarify that Join doesn't extend already-joined errors #60215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Updates the documentation for Join to explain that it does not append to an existing joinError (i.e. the result of calling Join), and if one of the errors is a joinError, it will be wrapped again. See golang#60209 It also adds a test to provide an example of said behavior, as well as formalizing it in the API's contract.
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
The goal of this PR is to explain that patterns such as this one are not supported: // Assume that errCh is populated by a separate goroutine
errCh := make(chan error, 3)
errCh<-errors.New("err1")
errCh<-errors.New("err2")
errCh<-nil
var err error
for i := 0; i < 3; i++ {
err = errors.Join(err, <-errCh)
} |
This PR (HEAD: 67d1190) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/go/+/495076 to see it. Tip: You can toggle comments from me using the |
Message from Gopher Robot: Patch Set 1: Congratulations on opening your first change. Thank you for your contribution! Next steps: Most changes in the Go project go through a few rounds of revision. This can be During May-July and Nov-Jan the Go project is in a code freeze, during which Please don’t reply on this GitHub thread. Visit golang.org/cl/495076. |
Message from qiulaidongfeng: Patch Set 1: Code-Review+1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/495076. |
Message from Damien Neil: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/495076. |
Message from Alessandro Segala: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/495076. |
Message from Damien Neil: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/495076. |
Message from Ian Lance Taylor: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/495076. |
Message from Alessandro Segala: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/495076. |
Message from Ian Lance Taylor: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/495076. |
Updates the documentation for Join to explain that it does not append to an existing joinError (i.e. the result of calling Join), and if one of the errors is a joinError, it will be wrapped again. Fixes #60209
It also adds a test to provide an example of said behavior, as well as formalizing it in the API's contract.