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

     1  -- in.cue --
     2  _Q: [{pos: 0}, {pos: 1}]
     3  
     4  a: [rn=string]: _Q[0:len(a[rn])]
     5  a: ben: [{}]
     6  
     7  b: [rn=string]: _Q[0:1]
     8  b: ben: [{}]
     9  
    10  c: [rn=string]: [...{l: len(a[rn])}]
    11  c: ben: [{}]
    12  
    13  #d: [rn=string]: [...{pos: uint}] & _Q[0:len(#d[rn])]
    14  #d: ben: [{}]
    15  
    16  d: #d
    17  
    18  e: [rn=string]: _Q[0 : len(a[rn])+1]
    19  e: ben: [{}, ...]
    20  
    21  f: [rn=string]: _Q[0 : len(a[rn])+1]
    22  f: ben: [{}]
    23  
    24  g: [rn=string]: _Q[0:len(a[rn])]
    25  g: ben: [{}, {}]
    26  -- out/eval/stats --
    27  Leaks:  0
    28  Freed:  43
    29  Reused: 38
    30  Allocs: 5
    31  Retain: 0
    32  
    33  Unifications: 43
    34  Conjuncts:    83
    35  Disjuncts:    45
    36  -- out/evalalpha --
    37  Errors:
    38  f.ben: incompatible list lengths (1 and 2):
    39      ./in.cue:20:17
    40  g.ben: incompatible list lengths (1 and 2):
    41      ./in.cue:23:17
    42  
    43  Result:
    44  (_|_){
    45    // [eval]
    46    _Q: (#list){
    47      0: (struct){
    48        pos: (int){ 0 }
    49      }
    50      1: (struct){
    51        pos: (int){ 1 }
    52      }
    53    }
    54    a: (struct){
    55      ben: (#list){
    56        0: (struct){
    57          pos: (int){ 0 }
    58        }
    59      }
    60    }
    61    b: (struct){
    62      ben: (#list){
    63        0: (struct){
    64          pos: (int){ 0 }
    65        }
    66      }
    67    }
    68    c: (struct){
    69      ben: (#list){
    70        0: (struct){
    71          l: (int){ 1 }
    72        }
    73      }
    74    }
    75    #d: (#struct){
    76      ben: (#list){
    77        0: (#struct){
    78          pos: (int){ 0 }
    79        }
    80      }
    81    }
    82    d: (#struct){
    83      ben: (#list){
    84        0: (#struct){
    85          pos: (int){ 0 }
    86        }
    87      }
    88    }
    89    e: (struct){
    90      ben: (#list){
    91        0: (struct){
    92          pos: (int){ 0 }
    93        }
    94        1: (struct){
    95          pos: (int){ 1 }
    96        }
    97      }
    98    }
    99    f: (_|_){
   100      // [eval]
   101      ben: (_|_){
   102        // [eval] f.ben: incompatible list lengths (1 and 2):
   103        //     ./in.cue:20:17
   104        0: (struct){
   105        }
   106      }
   107    }
   108    g: (_|_){
   109      // [eval]
   110      ben: (_|_){
   111        // [eval] g.ben: incompatible list lengths (1 and 2):
   112        //     ./in.cue:23:17
   113        0: (struct){
   114        }
   115        1: (struct){
   116        }
   117      }
   118    }
   119  }
   120  -- diff/-out/evalalpha<==>+out/eval --
   121  diff old new
   122  --- old
   123  +++ new
   124  @@ -1,6 +1,8 @@
   125   Errors:
   126  -f.ben: incompatible list lengths (1 and 2)
   127  -g.ben: incompatible list lengths (1 and 2)
   128  +f.ben: incompatible list lengths (1 and 2):
   129  +    ./in.cue:20:17
   130  +g.ben: incompatible list lengths (1 and 2):
   131  +    ./in.cue:23:17
   132   
   133   Result:
   134   (_|_){
   135  @@ -61,12 +63,9 @@
   136     f: (_|_){
   137       // [eval]
   138       ben: (_|_){
   139  -      // [eval] f.ben: incompatible list lengths (1 and 2)
   140  -      0: (struct){
   141  -        pos: (int){ 0 }
   142  -      }
   143  -      1: (struct){
   144  -        pos: (int){ 1 }
   145  +      // [eval] f.ben: incompatible list lengths (1 and 2):
   146  +      //     ./in.cue:20:17
   147  +      0: (struct){
   148         }
   149       }
   150     }
   151  @@ -73,9 +72,9 @@
   152     g: (_|_){
   153       // [eval]
   154       ben: (_|_){
   155  -      // [eval] g.ben: incompatible list lengths (1 and 2)
   156  -      0: (struct){
   157  -        pos: (int){ 0 }
   158  +      // [eval] g.ben: incompatible list lengths (1 and 2):
   159  +      //     ./in.cue:23:17
   160  +      0: (struct){
   161         }
   162         1: (struct){
   163         }
   164  -- diff/todo/p2 --
   165  error path moved
   166  -- out/eval --
   167  Errors:
   168  f.ben: incompatible list lengths (1 and 2)
   169  g.ben: incompatible list lengths (1 and 2)
   170  
   171  Result:
   172  (_|_){
   173    // [eval]
   174    _Q: (#list){
   175      0: (struct){
   176        pos: (int){ 0 }
   177      }
   178      1: (struct){
   179        pos: (int){ 1 }
   180      }
   181    }
   182    a: (struct){
   183      ben: (#list){
   184        0: (struct){
   185          pos: (int){ 0 }
   186        }
   187      }
   188    }
   189    b: (struct){
   190      ben: (#list){
   191        0: (struct){
   192          pos: (int){ 0 }
   193        }
   194      }
   195    }
   196    c: (struct){
   197      ben: (#list){
   198        0: (struct){
   199          l: (int){ 1 }
   200        }
   201      }
   202    }
   203    #d: (#struct){
   204      ben: (#list){
   205        0: (#struct){
   206          pos: (int){ 0 }
   207        }
   208      }
   209    }
   210    d: (#struct){
   211      ben: (#list){
   212        0: (#struct){
   213          pos: (int){ 0 }
   214        }
   215      }
   216    }
   217    e: (struct){
   218      ben: (#list){
   219        0: (struct){
   220          pos: (int){ 0 }
   221        }
   222        1: (struct){
   223          pos: (int){ 1 }
   224        }
   225      }
   226    }
   227    f: (_|_){
   228      // [eval]
   229      ben: (_|_){
   230        // [eval] f.ben: incompatible list lengths (1 and 2)
   231        0: (struct){
   232          pos: (int){ 0 }
   233        }
   234        1: (struct){
   235          pos: (int){ 1 }
   236        }
   237      }
   238    }
   239    g: (_|_){
   240      // [eval]
   241      ben: (_|_){
   242        // [eval] g.ben: incompatible list lengths (1 and 2)
   243        0: (struct){
   244          pos: (int){ 0 }
   245        }
   246        1: (struct){
   247        }
   248      }
   249    }
   250  }
   251  -- out/compile --
   252  --- in.cue
   253  {
   254    _Q: [
   255      {
   256        pos: 0
   257      },
   258      {
   259        pos: 1
   260      },
   261    ]
   262    a: {
   263      [string]: 〈1;_Q〉[0:len(〈1;a〉[〈0;-〉])]
   264    }
   265    a: {
   266      ben: [
   267        {},
   268      ]
   269    }
   270    b: {
   271      [string]: 〈1;_Q〉[0:1]
   272    }
   273    b: {
   274      ben: [
   275        {},
   276      ]
   277    }
   278    c: {
   279      [string]: [
   280        ...{
   281          l: len(〈3;a〉[〈2;-〉])
   282        },
   283      ]
   284    }
   285    c: {
   286      ben: [
   287        {},
   288      ]
   289    }
   290    #d: {
   291      [string]: ([
   292        ...{
   293          pos: &(int, >=0)
   294        },
   295      ] & 〈1;_Q〉[0:len(〈1;#d〉[〈0;-〉])])
   296    }
   297    #d: {
   298      ben: [
   299        {},
   300      ]
   301    }
   302    d: 〈0;#d〉
   303    e: {
   304      [string]: 〈1;_Q〉[0:(len(〈1;a〉[〈0;-〉]) + 1)]
   305    }
   306    e: {
   307      ben: [
   308        {},
   309        ...,
   310      ]
   311    }
   312    f: {
   313      [string]: 〈1;_Q〉[0:(len(〈1;a〉[〈0;-〉]) + 1)]
   314    }
   315    f: {
   316      ben: [
   317        {},
   318      ]
   319    }
   320    g: {
   321      [string]: 〈1;_Q〉[0:len(〈1;a〉[〈0;-〉])]
   322    }
   323    g: {
   324      ben: [
   325        {},
   326        {},
   327      ]
   328    }
   329  }