github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/cue/testdata/eval/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  -- out/eval --
    18  (struct){
    19    _Q: (#list){
    20      0: (struct){
    21        pos: (int){ 0 }
    22      }
    23      1: (struct){
    24        pos: (int){ 1 }
    25      }
    26    }
    27    a: (struct){
    28      ben: (#list){
    29        0: (struct){
    30          pos: (int){ 0 }
    31        }
    32      }
    33    }
    34    b: (struct){
    35      ben: (#list){
    36        0: (struct){
    37          pos: (int){ 0 }
    38        }
    39      }
    40    }
    41    c: (struct){
    42      ben: (#list){
    43        0: (struct){
    44          l: (int){ 1 }
    45        }
    46      }
    47    }
    48    #d: (#struct){
    49      ben: (#list){
    50        0: (#struct){
    51          pos: (int){ 0 }
    52        }
    53      }
    54    }
    55    d: (#struct){
    56      ben: (#list){
    57        0: (#struct){
    58          pos: (int){ 0 }
    59        }
    60      }
    61    }
    62  }
    63  -- out/compile --
    64  --- in.cue
    65  {
    66    _Q: [
    67      {
    68        pos: 0
    69      },
    70      {
    71        pos: 1
    72      },
    73    ]
    74    a: {
    75      [string]: 〈1;_Q〉[0:len(〈1;a〉[〈0;-〉])]
    76    }
    77    a: {
    78      ben: [
    79        {},
    80      ]
    81    }
    82    b: {
    83      [string]: 〈1;_Q〉[0:1]
    84    }
    85    b: {
    86      ben: [
    87        {},
    88      ]
    89    }
    90    c: {
    91      [string]: [
    92        ...{
    93          l: len(〈3;a〉[〈2;-〉])
    94        },
    95      ]
    96    }
    97    c: {
    98      ben: [
    99        {},
   100      ]
   101    }
   102    #d: {
   103      [string]: ([
   104        ...{
   105          pos: &(int, >=0)
   106        },
   107      ] & 〈1;_Q〉[0:len(〈1;#d〉[〈0;-〉])])
   108    }
   109    #d: {
   110      ben: [
   111        {},
   112      ]
   113    }
   114    d: 〈0;#d〉
   115  }