func (s ConstraintStr) Parse() (Constraints, error) {
	raw, err := version.NewConstraint(string(s))
	if err != nil {
		return Constraints{}, err
	}
	return Constraints{raw}, nil
}
Parse transforms a ConstraintStr into a Constraints if it is
syntactically valid. If it isn't then an error is returned instead.
package discovery
import (
	"sort"
	version "github.com/hashicorp/go-version"
)
type ConstraintStr string