cuelang.org/go@v0.13.0/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/stats --
    18  Leaks:  0
    19  Freed:  26
    20  Reused: 21
    21  Allocs: 5
    22  Retain: 0
    23  
    24  Unifications: 26
    25  Conjuncts:    56
    26  Disjuncts:    28
    27  -- out/evalalpha --
    28  (struct){
    29    _Q: (#list){
    30      0: (struct){
    31        pos: (int){ 0 }
    32      }
    33      1: (struct){
    34        pos: (int){ 1 }
    35      }
    36    }
    37    a: (struct){
    38      ben: (#list){
    39        0: (struct){
    40          pos: (int){ 0 }
    41        }
    42      }
    43    }
    44    b: (struct){
    45      ben: (#list){
    46        0: (struct){
    47          pos: (int){ 0 }
    48        }
    49      }
    50    }
    51    c: (struct){
    52      ben: (#list){
    53        0: (struct){
    54          l: (int){ 1 }
    55        }
    56      }
    57    }
    58    #d: (#struct){
    59      ben: (#list){
    60        0: (#struct){
    61          pos: (int){ 0 }
    62        }
    63      }
    64    }
    65    d: ~(#d)
    66  }
    67  -- diff/-out/evalalpha<==>+out/eval --
    68  diff old new
    69  --- old
    70  +++ new
    71  @@ -35,11 +35,5 @@
    72         }
    73       }
    74     }
    75  -  d: (#struct){
    76  -    ben: (#list){
    77  -      0: (#struct){
    78  -        pos: (int){ 0 }
    79  -      }
    80  -    }
    81  -  }
    82  +  d: ~(#d)
    83   }
    84  -- out/eval --
    85  (struct){
    86    _Q: (#list){
    87      0: (struct){
    88        pos: (int){ 0 }
    89      }
    90      1: (struct){
    91        pos: (int){ 1 }
    92      }
    93    }
    94    a: (struct){
    95      ben: (#list){
    96        0: (struct){
    97          pos: (int){ 0 }
    98        }
    99      }
   100    }
   101    b: (struct){
   102      ben: (#list){
   103        0: (struct){
   104          pos: (int){ 0 }
   105        }
   106      }
   107    }
   108    c: (struct){
   109      ben: (#list){
   110        0: (struct){
   111          l: (int){ 1 }
   112        }
   113      }
   114    }
   115    #d: (#struct){
   116      ben: (#list){
   117        0: (#struct){
   118          pos: (int){ 0 }
   119        }
   120      }
   121    }
   122    d: (#struct){
   123      ben: (#list){
   124        0: (#struct){
   125          pos: (int){ 0 }
   126        }
   127      }
   128    }
   129  }
   130  -- out/compile --
   131  --- in.cue
   132  {
   133    _Q: [
   134      {
   135        pos: 0
   136      },
   137      {
   138        pos: 1
   139      },
   140    ]
   141    a: {
   142      [string]: 〈1;_Q〉[0:len(〈1;a〉[〈0;-〉])]
   143    }
   144    a: {
   145      ben: [
   146        {},
   147      ]
   148    }
   149    b: {
   150      [string]: 〈1;_Q〉[0:1]
   151    }
   152    b: {
   153      ben: [
   154        {},
   155      ]
   156    }
   157    c: {
   158      [string]: [
   159        ...{
   160          l: len(〈3;a〉[〈2;-〉])
   161        },
   162      ]
   163    }
   164    c: {
   165      ben: [
   166        {},
   167      ]
   168    }
   169    #d: {
   170      [string]: ([
   171        ...{
   172          pos: &(int, >=0)
   173        },
   174      ] & 〈1;_Q〉[0:len(〈1;#d〉[〈0;-〉])])
   175    }
   176    #d: {
   177      ben: [
   178        {},
   179      ]
   180    }
   181    d: 〈0;#d〉
   182  }