cuelang.org/go@v0.13.0/cue/testdata/resolve/010_optional_field_resolves_to_incomplete.txtar (about)

     1  #name: optional field resolves to incomplete
     2  #evalPartial
     3  -- in.cue --
     4  r: {
     5  	a?: 3
     6  	b:  a
     7  	c:  r["a"]
     8  }
     9  -- out/def --
    10  r: {
    11  	a?: 3
    12  	b:  a
    13  	c:  r["a"]
    14  }
    15  -- out/legacy-debug --
    16  <0>{r: <1>{a?: 3, b: <2>.a, c: <3>.r["a"]}}
    17  -- out/compile --
    18  --- in.cue
    19  {
    20    r: {
    21      a?: 3
    22      b: 〈0;a〉
    23      c: 〈1;r〉["a"]
    24    }
    25  }
    26  -- out/eval/stats --
    27  Leaks:  0
    28  Freed:  5
    29  Reused: 2
    30  Allocs: 3
    31  Retain: 0
    32  
    33  Unifications: 5
    34  Conjuncts:    5
    35  Disjuncts:    5
    36  -- out/eval --
    37  (struct){
    38    r: (struct){
    39      a?: (int){ 3 }
    40      b: (_|_){
    41        // [incomplete] r.b: cannot reference optional field: a:
    42        //     ./in.cue:3:6
    43      }
    44      c: (_|_){
    45        // [incomplete] r.c: cannot reference optional field: a:
    46        //     ./in.cue:4:8
    47      }
    48    }
    49  }