# 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:
incompatible values 2 and 3

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