refactor: drop multierror in favor of std by ferhatelmas · Pull Request #12234 · cli/cli
Just for posterity, here's the difference in output, not that we really depend on it.
multierror
package main import ( "errors" "fmt" "github.com/hashicorp/go-multierror" ) func main() { err1 := errors.New("failed to connect to database") err2 := errors.New("failed to read config file") err3 := errors.New("failed to initialize cache") var result error result = multierror.Append(result, err1) result = multierror.Append(result, err2) result = multierror.Append(result, err3) fmt.Println(result) }
3 errors occurred:
* failed to connect to databas
* failed to read config file
* failed to initialize cache
stdlib
package main
import (
"errors"
"fmt"
)
func main() {
err1 := errors.New("failed to connect to database")
err2 := errors.New("failed to read config file")
err3 := errors.New("failed to initialize cache")
joined := errors.Join(err1, err2, err3)
fmt.Println(joined)
}
failed to connect to database
failed to read config file
failed to initialize cache