internal/core/adt: skip partial unify if unnencessary
Change-Id: I3d12df4b37e1d979b8e81791c4ac6913dbdac0c5
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/8107
Reviewed-by: CUE cueckoo <cueckoo@gmail.com>
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/internal/core/adt/expr.go b/internal/core/adt/expr.go
index da7d3a9..7bbe8dc 100644
--- a/internal/core/adt/expr.go
+++ b/internal/core/adt/expr.go
@@ -1357,12 +1357,12 @@
func (x *ForClause) yield(c *OpContext, f YieldFunc) {
n := c.node(x, x.Src, true)
for _, a := range n.Arcs {
- c.Unify(c, a, Partial)
-
if !a.Label.IsRegular() {
continue
}
+ c.Unify(c, a, Partial)
+
n := &Vertex{status: Finalized}
// TODO: only needed if value label != _