# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: Issue #23
#evalFull
-- in.cue --
x: {a:     1} | {a: 2}
y: x & {a: 3}
-- out/def --
x: {
	a: 1
} | {
	a: 2
}
y: _|_ // ; empty disjunction: conflicting values 2 and 3
-- out/legacy-debug --
<0>{x: (<1>{a: 1} | <2>{a: 2}), y: _|_((1 & 3):empty disjunction: conflicting values 1 and 3;(2 & 3):empty disjunction: conflicting values 2 and 3)}
-- out/compile --
--- in.cue
{
  x: ({
    a: 1
  }|{
    a: 2
  })
  y: (〈0;x〉 & {
    a: 3
  })
}
-- out/eval --
Errors:
y.a: incompatible values 2 and 3

Result:
(_|_){
  // [eval]
  x: (struct){ |((struct){
      a: (int){ 1 }
    }, (struct){
      a: (int){ 2 }
    }) }
  y: (_|_){
    // [eval]
    a: (_|_){
      // [eval] y.a: incompatible values 2 and 3
    }
  }
}
