cuelang.org/go@v0.13.0/cue/testdata/definitions/028_recursive_closing_starting_at_non-definition.txtar (about)

     1  #name: recursive closing starting at non-definition
     2  #evalPartial
     3  -- in.cue --
     4  z: a: {
     5  	#B: {
     6  		c: d: 1
     7  		c: f: 1
     8  	}
     9  }
    10  A: z & {a: {#B: {c: e: 2}}}
    11  -- out/def --
    12  z: {
    13  	a: {
    14  		#B: {
    15  			c: {
    16  				d: 1
    17  				f: 1
    18  			}
    19  		}
    20  	}
    21  }
    22  A: z & {
    23  	a: {
    24  		#B: {
    25  			c: {
    26  				e: 2
    27  			}
    28  		}
    29  	}
    30  }
    31  -- out/export --
    32  z: {
    33  	a: {}
    34  }
    35  A: {
    36  	a: {}
    37  }
    38  -- out/yaml --
    39  z:
    40    a: {}
    41  A:
    42    a: {}
    43  -- out/json --
    44  {"z":{"a":{}},"A":{"a":{}}}
    45  -- out/legacy-debug --
    46  <0>{z: <1>{a: <2>{#B: <3>C{c: <4>C{d: 1, f: 1}}}}, A: <5>{a: <6>{#B: <7>C{c: _|_(2:field "e" not allowed in closed struct)}}}}
    47  -- out/compile --
    48  --- in.cue
    49  {
    50    z: {
    51      a: {
    52        #B: {
    53          c: {
    54            d: 1
    55          }
    56          c: {
    57            f: 1
    58          }
    59        }
    60      }
    61    }
    62    A: (〈0;z〉 & {
    63      a: {
    64        #B: {
    65          c: {
    66            e: 2
    67          }
    68        }
    69      }
    70    })
    71  }
    72  -- out/eval/stats --
    73  Leaks:  0
    74  Freed:  14
    75  Reused: 8
    76  Allocs: 6
    77  Retain: 0
    78  
    79  Unifications: 14
    80  Conjuncts:    21
    81  Disjuncts:    14
    82  -- out/evalalpha --
    83  (struct){
    84    z: (struct){
    85      a: (struct){
    86        #B: (#struct){
    87          c: (#struct){
    88            d: (int){ 1 }
    89            f: (int){ 1 }
    90          }
    91        }
    92      }
    93    }
    94    A: (struct){
    95      a: (struct){
    96        #B: (#struct){
    97          c: (#struct){
    98            e: (int){ 2 }
    99            d: (int){ 1 }
   100            f: (int){ 1 }
   101          }
   102        }
   103      }
   104    }
   105  }
   106  -- diff/-out/evalalpha<==>+out/eval --
   107  diff old new
   108  --- old
   109  +++ new
   110  @@ -13,9 +13,9 @@
   111       a: (struct){
   112         #B: (#struct){
   113           c: (#struct){
   114  -          d: (int){ 1 }
   115  -          f: (int){ 1 }
   116             e: (int){ 2 }
   117  +          d: (int){ 1 }
   118  +          f: (int){ 1 }
   119           }
   120         }
   121       }
   122  -- diff/explanation --
   123  reordering
   124  -- out/eval --
   125  (struct){
   126    z: (struct){
   127      a: (struct){
   128        #B: (#struct){
   129          c: (#struct){
   130            d: (int){ 1 }
   131            f: (int){ 1 }
   132          }
   133        }
   134      }
   135    }
   136    A: (struct){
   137      a: (struct){
   138        #B: (#struct){
   139          c: (#struct){
   140            d: (int){ 1 }
   141            f: (int){ 1 }
   142            e: (int){ 2 }
   143          }
   144        }
   145      }
   146    }
   147  }