# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: resolved self-reference cycles with disjunctions
#evalPartial
-- in.cue --
a: b & {x: 1} | {y:     1} // {x:1,y:3,z:2} | {y:1}
b: {x:     2} | c & {z: 2} // {x:2} | {x:1,y:3,z:2}
c: a & {y: 3} | {z:     3} // {x:1,y:3,z:2} | {z:3}
-- out/def --
a: b & {
	x: 1
} | {
	y: 1
}
b: {
	x: 2
} | c & {
	z: 2
}
c: a & {
	y: 3
} | {
	z: 3
}
-- out/legacy-debug --
<0>{a: (<1>{x: 1, y: 3, z: 2} | <2>{y: 1}), b: (<3>{x: 2} | <4>{x: 1, y: 3, z: 2}), c: (<5>{x: 1, y: 3, z: 2} | <6>{z: 3})}
-- out/compile --
--- in.cue
{
  a: ((〈0;b〉 & {
    x: 1
  })|{
    y: 1
  })
  b: ({
    x: 2
  }|(〈0;c〉 & {
    z: 2
  }))
  c: ((〈0;a〉 & {
    y: 3
  })|{
    z: 3
  })
}
-- out/eval --
(struct){
  a: (struct){ |((struct){
      x: (int){ 1 }
      z: (int){ 2 }
      y: (int){ 3 }
    }, (struct){
      y: (int){ 1 }
    }) }
  b: (struct){ |((struct){
      x: (int){ 2 }
    }, (struct){
      z: (int){ 2 }
      y: (int){ 3 }
      x: (int){ 1 }
    }) }
  c: (struct){ |((struct){
      y: (int){ 3 }
      x: (int){ 1 }
      z: (int){ 2 }
    }, (struct){
      z: (int){ 3 }
    }) }
}
