cuelang.org/go@v0.10.1/cue/testdata/resolve/043_diamond-shaped_constraints.txtar (about) 1 # DO NOT EDIT; generated by go run testdata/gen.go 2 # 3 #name: diamond-shaped constraints 4 #evalPartial 5 -- in.cue -- 6 S: { 7 A: { 8 a: 1 9 } 10 B: A & { 11 b: 2 12 } 13 } 14 T: S & {// S == { A: { a:1 }, B: { a:1, b:2 } } 15 A: { 16 c: 3 17 } 18 B: { 19 d: 4 // Combines constraints S.A, S.B, T.A, and T.B // S.B & A 20 } 21 } 22 -- out/def -- 23 T: S & { 24 A: { 25 c: 3 26 } 27 B: { 28 d: 4 29 } 30 } 31 S: { 32 A: { 33 a: 1 34 } 35 B: A & { 36 b: 2 37 } 38 } 39 -- out/export -- 40 T: { 41 A: { 42 a: 1 43 c: 3 44 } 45 B: { 46 a: 1 47 b: 2 48 c: 3 49 d: 4 50 } 51 } 52 S: { 53 A: { 54 a: 1 55 } 56 B: { 57 a: 1 58 b: 2 59 } 60 } 61 -- out/yaml -- 62 T: 63 A: 64 a: 1 65 c: 3 66 B: 67 a: 1 68 b: 2 69 c: 3 70 d: 4 71 S: 72 A: 73 a: 1 74 B: 75 a: 1 76 b: 2 77 -- out/json -- 78 {"T":{"A":{"a":1,"c":3},"B":{"a":1,"b":2,"c":3,"d":4}},"S":{"A":{"a":1},"B":{"a":1,"b":2}}} 79 -- out/legacy-debug -- 80 <0>{T: <1>{A: <2>{a: 1, c: 3}, B: <3>{a: 1, b: 2, c: 3, d: 4}}, S: <4>{A: <5>{a: 1}, B: <6>{a: 1, b: 2}}} 81 -- out/compile -- 82 --- in.cue 83 { 84 S: { 85 A: { 86 a: 1 87 } 88 B: (〈0;A〉 & { 89 b: 2 90 }) 91 } 92 T: (〈0;S〉 & { 93 A: { 94 c: 3 95 } 96 B: { 97 d: 4 98 } 99 }) 100 } 101 -- out/eval/stats -- 102 Leaks: 0 103 Freed: 16 104 Reused: 12 105 Allocs: 4 106 Retain: 0 107 108 Unifications: 16 109 Conjuncts: 25 110 Disjuncts: 16 111 -- out/evalalpha -- 112 (struct){ 113 S: (struct){ 114 A: (struct){ 115 a: (int){ 1 } 116 } 117 B: (struct){ 118 b: (int){ 2 } 119 a: (int){ 1 } 120 } 121 } 122 T: (struct){ 123 A: (struct){ 124 c: (int){ 3 } 125 a: (int){ 1 } 126 } 127 B: (struct){ 128 d: (int){ 4 } 129 b: (int){ 2 } 130 c: (int){ 3 } 131 a: (int){ 1 } 132 } 133 } 134 } 135 -- diff/-out/evalalpha<==>+out/eval -- 136 diff old new 137 --- old 138 +++ new 139 @@ -4,20 +4,20 @@ 140 a: (int){ 1 } 141 } 142 B: (struct){ 143 - a: (int){ 1 } 144 - b: (int){ 2 } 145 + b: (int){ 2 } 146 + a: (int){ 1 } 147 } 148 } 149 T: (struct){ 150 A: (struct){ 151 - a: (int){ 1 } 152 - c: (int){ 3 } 153 - } 154 - B: (struct){ 155 - a: (int){ 1 } 156 - c: (int){ 3 } 157 - b: (int){ 2 } 158 + c: (int){ 3 } 159 + a: (int){ 1 } 160 + } 161 + B: (struct){ 162 d: (int){ 4 } 163 + b: (int){ 2 } 164 + c: (int){ 3 } 165 + a: (int){ 1 } 166 } 167 } 168 } 169 -- diff/todo/p3 -- 170 Reordering 171 -- out/eval -- 172 (struct){ 173 S: (struct){ 174 A: (struct){ 175 a: (int){ 1 } 176 } 177 B: (struct){ 178 a: (int){ 1 } 179 b: (int){ 2 } 180 } 181 } 182 T: (struct){ 183 A: (struct){ 184 a: (int){ 1 } 185 c: (int){ 3 } 186 } 187 B: (struct){ 188 a: (int){ 1 } 189 c: (int){ 3 } 190 b: (int){ 2 } 191 d: (int){ 4 } 192 } 193 } 194 }