cuelang.org/go@v0.13.0/cue/testdata/resolve/047_struct_comprehensions.txtar (about)

     1  #name: struct comprehensions
     2  #evalPartial
     3  -- in.cue --
     4  obj: foo: a: "bar"
     5  obj: [Name=string]: {
     6  	a: *"dummy" | string
     7  	if true {
     8  		sub: as: a
     9  	}
    10  }
    11  
    12  for k, v in {#def: 1, opt?: 2, _hid: 3, reg: 4} {
    13  	"\(k)": v
    14  }
    15  -- out/def --
    16  obj: {
    17  	{[Name=string]: {
    18  		a: *"dummy" | string, sub: {
    19  			as: a
    20  		}
    21  	}}
    22  	foo: {
    23  		a: "bar"
    24  		sub: {
    25  			as: "bar"
    26  		}
    27  	}
    28  }
    29  reg: 4
    30  -- out/export --
    31  obj: {
    32  	foo: {
    33  		a: "bar"
    34  		sub: {
    35  			as: "bar"
    36  		}
    37  	}
    38  }
    39  reg: 4
    40  -- out/yaml --
    41  obj:
    42    foo:
    43      a: bar
    44      sub:
    45        as: bar
    46  reg: 4
    47  -- out/json --
    48  {"obj":{"foo":{"a":"bar","sub":{"as":"bar"}}},"reg":4}
    49  -- out/legacy-debug --
    50  <0>{obj: <1>{[]: <2>(Name: string)-><3>{a: (*"dummy" | string) if true yield <4>{sub: <5>{as: <3>.a}}}, foo: <6>{a: "bar", sub: <7>{as: "bar"}}}, reg: 4}
    51  -- out/compile --
    52  --- in.cue
    53  {
    54    obj: {
    55      foo: {
    56        a: "bar"
    57      }
    58    }
    59    obj: {
    60      [string]: {
    61        a: (*"dummy"|string)
    62        if true {
    63          sub: {
    64            as: 〈2;a〉
    65          }
    66        }
    67      }
    68    }
    69    for k, v in {
    70      #def: 1
    71      opt?: 2
    72      _hid: 3
    73      reg: 4
    74    } {
    75      "\(〈1;k〉)": 〈1;v〉
    76    }
    77  }
    78  -- out/eval/stats --
    79  Leaks:  3
    80  Freed:  11
    81  Reused: 7
    82  Allocs: 7
    83  Retain: 2
    84  
    85  Unifications: 10
    86  Conjuncts:    19
    87  Disjuncts:    13
    88  -- out/eval --
    89  (struct){
    90    obj: (struct){
    91      foo: (struct){
    92        a: (string){ "bar" }
    93        sub: (struct){
    94          as: (string){ "bar" }
    95        }
    96      }
    97    }
    98    reg: (int){ 4 }
    99  }