# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: definitions with disjunctions recurisive
#evalPartial
-- in.cue --
#Foo: {
	x: {
		field: int

		{a: 1} |
		{b: 2}
	}
	x: c: 3
}
-- out/def --
#Foo: {
	x: {
		field: int
		a:     1
		c:     3
	} | {
		field: int
		b:     2
		c:     3
	}
}
-- out/export --

-- out/yaml --
{}
-- out/json --
{}
-- out/legacy-debug --
<0>{#Foo: <1>C{x: (<2>C{field: int, a: 1, c: 3} | <3>C{field: int, b: 2, c: 3})}}
-- out/compile --
--- in.cue
{
  #Foo: {
    x: {
      field: int
      ({
        a: 1
      }|{
        b: 2
      })
    }
    x: {
      c: 3
    }
  }
}
-- out/eval --
(struct){
  #Foo: (#struct){
    x: (#struct){ |((#struct){
        field: (int){ int }
        c: (int){ 3 }
        a: (int){ 1 }
      }, (#struct){
        field: (int){ int }
        c: (int){ 3 }
        b: (int){ 2 }
      }) }
  }
}
