#name: delayed constraint failure
#evalPartial
-- in.cue --
a: b - 100 // Okay to have no error here, as long as there is an error with b.
b: a + 110
b: 200

x: 100
x: x + 1
-- out/def --
x: _|_ // conflicting values 100 and 101
a: _|_ // conflicting values 210 and 200
b: _|_ // conflicting values 210 and 200
-- out/legacy-debug --
<0>{x: _|_((100 & 101):conflicting values 100 and 101), a: _|_((210 & 200):conflicting values 210 and 200), b: _|_((210 & 200):conflicting values 210 and 200)}
-- out/compile --
--- in.cue
{
  a: (〈0;b〉 - 100)
  b: (〈0;a〉 + 110)
  b: 200
  x: 100
  x: (〈0;x〉 + 1)
}
-- out/eval/stats --
Leaks:  0
Freed:  4
Reused: 1
Allocs: 3
Retain: 1

Unifications: 4
Conjuncts:    5
Disjuncts:    4
-- out/eval --
Errors:
b: conflicting values 210 and 200:
    ./in.cue:2:4
    ./in.cue:3:4
x: conflicting values 101 and 100:
    ./in.cue:5:4
    ./in.cue:6:4

Result:
(_|_){
  // [eval]
  a: (int){ 100 }
  b: (_|_){
    // [eval] b: conflicting values 210 and 200:
    //     ./in.cue:2:4
    //     ./in.cue:3:4
  }
  x: (_|_){
    // [eval] x: conflicting values 101 and 100:
    //     ./in.cue:5:4
    //     ./in.cue:6:4
  }
}
