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