github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/cue/testdata/comprehensions/issue507.txtar (about)

     1  -- in.cue --
     2  package x
     3  
     4  somelist: [...string] | *[]
     5  // Works just fine
     6  foo: [
     7  	for e in somelist {
     8  		"hello foo: \(e)"
     9  	},
    10  ]
    11  
    12  otherlist: ["something"]
    13  // Works fine as well
    14  z: [
    15  	for e in otherlist {
    16  		"hello z: \(e)"
    17  	},
    18  ]
    19  
    20  extlist: [...string] | *["something"]
    21  bar: [
    22  	for e in extlist {
    23  		"hello bar: \(e)"
    24  	},
    25  ]
    26  -- out/eval --
    27  (struct){
    28    somelist: (list){ |(*(#list){
    29      }, (list){
    30      }) }
    31    foo: (#list){
    32    }
    33    otherlist: (#list){
    34      0: (string){ "something" }
    35    }
    36    z: (#list){
    37      0: (string){ "hello z: something" }
    38    }
    39    extlist: (list){ |(*(#list){
    40        0: (string){ "something" }
    41      }, (list){
    42      }) }
    43    bar: (#list){
    44      0: (string){ "hello bar: something" }
    45    }
    46  }
    47  -- out/compile --
    48  --- in.cue
    49  {
    50    somelist: ([
    51      ...string,
    52    ]|*[])
    53    foo: [
    54      for _, e in 〈1;somelist〉 {
    55        "hello foo: \(〈1;e〉)"
    56      },
    57    ]
    58    otherlist: [
    59      "something",
    60    ]
    61    z: [
    62      for _, e in 〈1;otherlist〉 {
    63        "hello z: \(〈1;e〉)"
    64      },
    65    ]
    66    extlist: ([
    67      ...string,
    68    ]|*[
    69      "something",
    70    ])
    71    bar: [
    72      for _, e in 〈1;extlist〉 {
    73        "hello bar: \(〈1;e〉)"
    74      },
    75    ]
    76  }