hashicorp / go-multierror

A Go (golang) package for representing a list of errors as a single error.
Mozilla Public License 2.0
2.28k stars 123 forks source link

Invitation to comment on proposed standard library multierror support #63

Open neild opened 2 years ago

neild commented 2 years ago

Hi!

I have an in-review proposal to add support for wrapping multiple errors to the standard library. The latest version of the proposal is: https://github.com/golang/go/issues/53435#issuecomment-1191752789

This proposal is intended to allow interoperation between multierror implementations, as well as to simplify these implementations. It isn't intended to supplant existing implementations, except in the simplest of cases. The quick summary of the proposal is that errors.Is and errors.As would support descending into multiple errors when a type implements an Unwrap() []error method returning a list of wrapped errors; for details see the above link.

I'm opening an issue in this repo to invite your comments on this proposal, either in the proposal issue or here. Would you find this feature useful? If adopted, would you add an Unwrap() error to your error types? Do you see any problems with this proposal, or are there changes that would make it more useful to you?

Thanks!

xremming commented 1 year ago

Now that errors.Join is coming in Go 1.20 it would be a good idea to add a note about that to the README.