You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
terraform/internal/promising/errors.go

29 lines
993 B

// Copyright IBM Corp. 2014, 2026
// SPDX-License-Identifier: BUSL-1.1
package promising
// ErrUnresolved is the error type returned by a promise getter or a main
// task execution if a task fails to resolve all of the promises it is
// responsible for before it returns.
type ErrUnresolved []PromiseID
func (err ErrUnresolved) Error() string {
return "promise unresolved"
}
// ErrSelfDependent is the error type returned by a promise getter if the
// requesting task is depending on itself for its own progress, by trying
// to read a promise that it is either directly or indirectly responsible
// for resolving.
//
// The built-in error message is generic but callers can type-assert to
// this type to obtain the chain of promises that lead from the task
// to itself, possibly via other tasks that are themselves awaiting the
// caller to resolve a different promise.
type ErrSelfDependent []PromiseID
func (err ErrSelfDependent) Error() string {
return "task is self-dependent"
}