cuelang.org/go@v0.13.0/cue/testdata/resolve/038_incomplete_comprehensions.txtar (about)

     1  #name: incomplete comprehensions
     2  #evalPartial
     3  -- in.cue --
     4  A: {
     5  	for v in src {
     6  		"\(v)": v
     7  	}
     8  	src: _
     9  	if true {
    10  		baz: "baz"
    11  	}
    12  }
    13  B: A & {
    14  	src: ["foo", "bar"]
    15  }
    16  -- out/def --
    17  A: {
    18  	src: _
    19  	baz: "baz"
    20  	for v in src {
    21  		"\(v)": v
    22  	}
    23  }
    24  B: A & {
    25  	src: ["foo", "bar"]
    26  }
    27  -- out/legacy-debug --
    28  <0>{A: <1>{src: _, baz: "baz" <2>for _, v in <3>.src yield <4>{""+<2>.v+"": <2>.v}}, B: <5>{src: ["foo","bar"], baz: "baz", foo: "foo", bar: "bar"}}
    29  -- out/compile --
    30  --- in.cue
    31  {
    32    A: {
    33      for _, v in 〈0;src〉 {
    34        "\(〈1;v〉)": 〈1;v〉
    35      }
    36      src: _
    37      if true {
    38        baz: "baz"
    39      }
    40    }
    41    B: (〈0;A〉 & {
    42      src: [
    43        "foo",
    44        "bar",
    45      ]
    46    })
    47  }
    48  -- out/eval/stats --
    49  Leaks:  0
    50  Freed:  11
    51  Reused: 6
    52  Allocs: 5
    53  Retain: 9
    54  
    55  Unifications: 11
    56  Conjuncts:    16
    57  Disjuncts:    16
    58  -- out/eval --
    59  (struct){
    60    A: (_|_){
    61      // [incomplete] A: cannot range over src (incomplete type _):
    62      //     ./in.cue:2:11
    63      src: (_){ _ }
    64      baz: (string){ "baz" }
    65    }
    66    B: (struct){
    67      src: (#list){
    68        0: (string){ "foo" }
    69        1: (string){ "bar" }
    70      }
    71      baz: (string){ "baz" }
    72      foo: (string){ "foo" }
    73      bar: (string){ "bar" }
    74    }
    75  }