cuelang.org/go@v0.13.0/cue/testdata/fulleval/043_optional_expanded_before_lookup.txtar (about)

     1  #name: optional expanded before lookup
     2  #evalFull
     3  -- in.cue --
     4  test: [ID=_]: {
     5  	name: ID
     6  }
     7  
     8  test: A: {
     9  	field1: "1"
    10  	field2: "2"
    11  }
    12  
    13  B: test.A & {}
    14  -- out/def --
    15  test: {
    16  	{[ID=string]: {
    17  		name: ID
    18  	}}
    19  	A: {
    20  		name:   "A"
    21  		field1: "1"
    22  		field2: "2"
    23  	}
    24  }
    25  B: test.A & {}
    26  -- out/export --
    27  test: {
    28  	A: {
    29  		name:   "A"
    30  		field1: "1"
    31  		field2: "2"
    32  	}
    33  }
    34  B: {
    35  	name:   "A"
    36  	field1: "1"
    37  	field2: "2"
    38  }
    39  -- out/yaml --
    40  test:
    41    A:
    42      name: A
    43      field1: "1"
    44      field2: "2"
    45  B:
    46    name: A
    47    field1: "1"
    48    field2: "2"
    49  -- out/json --
    50  {"test":{"A":{"name":"A","field1":"1","field2":"2"}},"B":{"name":"A","field1":"1","field2":"2"}}
    51  -- out/legacy-debug --
    52  <0>{test: <1>{[]: <2>(ID: string)-><3>{name: <2>.ID}, A: <4>{name: "A", field1: "1", field2: "2"}}, B: <5>{name: "A", field1: "1", field2: "2"}}
    53  -- out/compile --
    54  --- in.cue
    55  {
    56    test: {
    57      [_]: {
    58        name: 〈1;-〉
    59      }
    60    }
    61    test: {
    62      A: {
    63        field1: "1"
    64        field2: "2"
    65      }
    66    }
    67    B: (〈0;test〉.A & {})
    68  }
    69  -- out/eval/stats --
    70  Leaks:  0
    71  Freed:  10
    72  Reused: 6
    73  Allocs: 4
    74  Retain: 0
    75  
    76  Unifications: 10
    77  Conjuncts:    15
    78  Disjuncts:    10
    79  -- out/eval --
    80  (struct){
    81    test: (struct){
    82      A: (struct){
    83        field1: (string){ "1" }
    84        field2: (string){ "2" }
    85        name: (string){ "A" }
    86      }
    87    }
    88    B: (struct){
    89      field1: (string){ "1" }
    90      field2: (string){ "2" }
    91      name: (string){ "A" }
    92    }
    93  }