This test tests a case where a child node needs to be evaluated
before evaluating a parent has completed.
-- in.cue --
a: [for c in foo.bar.baz {
	c
}]

a: [{name: "http"}] @test(eq, [{name: "http", port: 8080}])

foo: {
	x.D

	bar: baz: [{port: 8080}]
	@test(eq, {bar: {baz: [{port: 8080}]}})
}

x: {
	D: bar: DSpec
	DSpec: {}
	@test(eq, {D: bar: {}, DSpec: {}})
}
-- out/eval/stats --
Leaks:  0
Freed:  14
Reused: 5
Allocs: 9
Retain: 9

Unifications: 14
Conjuncts:    23
Disjuncts:    23
