internal/core/eval: check for nil pointer

Change-Id: I41cfa447296cd0928e69ee52f3cbc790421c6089
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/7321
Reviewed-by: CUE cueckoo <cueckoo@gmail.com>
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/internal/core/adt/errors.go b/internal/core/adt/errors.go
index 5085e28..f29fe53 100644
--- a/internal/core/adt/errors.go
+++ b/internal/core/adt/errors.go
@@ -286,6 +286,9 @@
 }
 
 func (e *ValueError) Path() (a []string) {
+	if e.v == nil {
+		return nil
+	}
 	for _, f := range appendPath(nil, e.v) {
 		a = append(a, f.SelectorString(e.r))
 	}