#name: reference across tuples and back
#evalPartial
-- in.cue --
a: {c: b.e, d: b.f}
b: {e: 3, f: a.c}
-- out/def --
a: {
	c: 3
	d: 3
}
b: {
	e: 3
	f: 3
}
-- out/export --
a: {
	c: 3
	d: 3
}
b: {
	e: 3
	f: 3
}
-- out/yaml --
a:
  c: 3
  d: 3
b:
  e: 3
  f: 3
-- out/json --
{"a":{"c":3,"d":3},"b":{"e":3,"f":3}}
-- out/legacy-debug --
<0>{a: <1>{c: 3, d: 3}, b: <2>{e: 3, f: 3}}
-- out/compile --
--- in.cue
{
  a: {
    c: 〈1;b〉.e
    d: 〈1;b〉.f
  }
  b: {
    e: 3
    f: 〈1;a〉.c
  }
}
-- out/eval/stats --
Leaks:  0
Freed:  7
Reused: 1
Allocs: 6
Retain: 8

Unifications: 7
Conjuncts:    12
Disjuncts:    12
-- out/eval --
(struct){
  a: (struct){
    c: (int){ 3 }
    d: (int){ 3 }
  }
  b: (struct){
    e: (int){ 3 }
    f: (int){ 3 }
  }
}
