cuelang.org/go@v0.10.1/cue/testdata/cycle/025_cannot_resolve_references_that_would_be_ambiguous.txtar (about)

     1  # DO NOT EDIT; generated by go run testdata/gen.go
     2  #
     3  #name: cannot resolve references that would be ambiguous
     4  #evalFull
     5  -- in.cue --
     6  a1: *0 | 1
     7  a1: a3 - a2
     8  a2: *0 | 1
     9  a2: a3 - a1
    10  a3: 1
    11  
    12  b1: (*0 | 1) & b2
    13  b2: (0 | *1) & b1
    14  
    15  c1: (*{a: 1} | {b: 1}) & c2
    16  c2: (*{a: 2} | {b: 2}) & c1
    17  -- out/def --
    18  a1: (*0 | 1) & a3-a2
    19  a3: 1
    20  a2: (*0 | 1) & a3-a1
    21  b1: (*0 | 1) & b2
    22  b2: (0 | *1) & b1
    23  c1: (*{
    24  	a: 1
    25  } | {
    26  	b: 1
    27  }) & c2
    28  c2: (*{
    29  	a: 2
    30  } | {
    31  	b: 2
    32  }) & c1
    33  -- out/legacy-debug --
    34  <0>{a1: ((*0 | 1) & (<1>.a3 - <1>.a2)), a3: 1, a2: ((*0 | 1) & (<1>.a3 - <1>.a1)), b1: (0 | 1), b2: (0 | 1), c1: (<2>{a: 1, b: 2} | <3>{a: 2, b: 1}), c2: (<4>{a: 2, b: 1} | <5>{a: 1, b: 2})}
    35  -- out/compile --
    36  --- in.cue
    37  {
    38    a1: (*0|1)
    39    a1: (〈0;a3〉 - 〈0;a2〉)
    40    a2: (*0|1)
    41    a2: (〈0;a3〉 - 〈0;a1〉)
    42    a3: 1
    43    b1: ((*0|1) & 〈0;b2〉)
    44    b2: ((0|*1) & 〈0;b1〉)
    45    c1: ((*{
    46      a: 1
    47    }|{
    48      b: 1
    49    }) & 〈0;c2〉)
    50    c2: ((*{
    51      a: 2
    52    }|{
    53      b: 2
    54    }) & 〈0;c1〉)
    55  }
    56  -- out/eval/stats --
    57  Leaks:  0
    58  Freed:  52
    59  Reused: 43
    60  Allocs: 9
    61  Retain: 19
    62  
    63  Unifications: 24
    64  Conjuncts:    80
    65  Disjuncts:    52
    66  -- out/evalalpha --
    67  (struct){
    68    a1: (int){ |(*(int){ 0 }, (int){ 1 }) }
    69    a2: (int){ |(*(int){ 0 }, (int){ 1 }) }
    70    a3: (int){ 1 }
    71    b1: (int){ |((int){ 0 }, (int){ 1 }) }
    72    b2: (int){ |((int){ 0 }, (int){ 1 }) }
    73    c1: (struct){ |((struct){
    74        a: (int){ 1 }
    75        b: (int){ 2 }
    76      }, (struct){
    77        b: (int){ 1 }
    78        a: (int){ 2 }
    79      }) }
    80    c2: (struct){ |((struct){
    81        a: (int){ 2 }
    82        b: (int){ 1 }
    83      }, (struct){
    84        b: (int){ 2 }
    85        a: (int){ 1 }
    86      }) }
    87  }
    88  -- diff/-out/evalalpha<==>+out/eval --
    89  diff old new
    90  --- old
    91  +++ new
    92  @@ -1,9 +1,6 @@
    93   (struct){
    94  -  a1: (_|_){
    95  -    // [cycle] cycle error:
    96  -    //     ./in.cue:2:5
    97  -  }
    98  -  a2: (int){ 1 }
    99  +  a1: (int){ |(*(int){ 0 }, (int){ 1 }) }
   100  +  a2: (int){ |(*(int){ 0 }, (int){ 1 }) }
   101     a3: (int){ 1 }
   102     b1: (int){ |((int){ 0 }, (int){ 1 }) }
   103     b2: (int){ |((int){ 0 }, (int){ 1 }) }
   104  -- diff/todo/p1 --
   105  a1: should be an error or include validators in result.
   106  -- out/eval --
   107  (struct){
   108    a1: (_|_){
   109      // [cycle] cycle error:
   110      //     ./in.cue:2:5
   111    }
   112    a2: (int){ 1 }
   113    a3: (int){ 1 }
   114    b1: (int){ |((int){ 0 }, (int){ 1 }) }
   115    b2: (int){ |((int){ 0 }, (int){ 1 }) }
   116    c1: (struct){ |((struct){
   117        a: (int){ 1 }
   118        b: (int){ 2 }
   119      }, (struct){
   120        b: (int){ 1 }
   121        a: (int){ 2 }
   122      }) }
   123    c2: (struct){ |((struct){
   124        a: (int){ 2 }
   125        b: (int){ 1 }
   126      }, (struct){
   127        b: (int){ 2 }
   128        a: (int){ 1 }
   129      }) }
   130  }