# 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: conflicting values 2 and 3:
    ./in.cue:1:21
    ./in.cue:2:12

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