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  }