cuelang.org/go@v0.13.0/cue/testdata/cycle/021_delayed_constraint_failure.txtar (about) 1 #name: delayed constraint failure 2 #evalPartial 3 -- in.cue -- 4 a: b - 100 // Okay to have no error here, as long as there is an error with b. 5 b: a + 110 6 b: 200 7 8 x: 100 9 x: x + 1 10 -- out/def -- 11 x: _|_ // conflicting values 100 and 101 12 a: _|_ // conflicting values 210 and 200 13 b: _|_ // conflicting values 210 and 200 14 -- out/legacy-debug -- 15 <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)} 16 -- out/compile -- 17 --- in.cue 18 { 19 a: (〈0;b〉 - 100) 20 b: (〈0;a〉 + 110) 21 b: 200 22 x: 100 23 x: (〈0;x〉 + 1) 24 } 25 -- out/eval/stats -- 26 Leaks: 0 27 Freed: 4 28 Reused: 1 29 Allocs: 3 30 Retain: 1 31 32 Unifications: 4 33 Conjuncts: 5 34 Disjuncts: 4 35 -- out/eval -- 36 Errors: 37 b: conflicting values 210 and 200: 38 ./in.cue:2:4 39 ./in.cue:3:4 40 x: conflicting values 101 and 100: 41 ./in.cue:5:4 42 ./in.cue:6:4 43 44 Result: 45 (_|_){ 46 // [eval] 47 a: (int){ 100 } 48 b: (_|_){ 49 // [eval] b: conflicting values 210 and 200: 50 // ./in.cue:2:4 51 // ./in.cue:3:4 52 } 53 x: (_|_){ 54 // [eval] x: conflicting values 101 and 100: 55 // ./in.cue:5:4 56 // ./in.cue:6:4 57 } 58 }