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 }