cue/errors: convert more errors to cue/errors.Error
Change-Id: Iecd21974252dfac0ff1dd72e1ce40ddf107ee444
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/2368
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/cue/errors/errors.go b/cue/errors/errors.go
index 9111e65..8c38812 100644
--- a/cue/errors/errors.go
+++ b/cue/errors/errors.go
@@ -198,7 +198,10 @@
// Error implements the error interface.
func (e *posError) Error() string {
- return e.Message.Error()
+ if e.err == nil {
+ return e.Message.Error()
+ }
+ return fmt.Sprintf("%s: %s", e.Message.Error(), e.err)
}
// List is a list of Errors.
diff --git a/cue/types.go b/cue/types.go
index c63021b..1b7615e 100644
--- a/cue/types.go
+++ b/cue/types.go
@@ -182,7 +182,7 @@
case errors.Error:
return &marshalError{x}
default:
- return &marshalError{errors.Wrapf(err, token.NoPos, err.Error())}
+ return &marshalError{errors.Wrapf(err, token.NoPos, "json error")}
}
}