cuelang.org/go@v0.13.0/cue/testdata/cycle/expression.txtar (about) 1 -- in.cue -- 2 t1: a: { 3 a1: a0 + 2 4 b1: a1 - 2 5 a0: X 6 X: b1 7 X: 5.0 8 } 9 10 t1: b: { 11 X: 5.0 12 a1: a0 + 2 13 b1: a1 - 2 14 a0: X 15 X: b1 16 } 17 18 t1: c: { 19 a1: a0 + 2 20 b1: a1 - 2 21 X: 5.0 22 a0: X 23 X: b1 24 } 25 26 t1: c: { 27 b1: a1 - 2 28 a1: a0 + 2 29 X: 5.0 30 a0: X 31 X: b1 32 } 33 34 t1: c: { 35 b1: a1 - 2 36 X: 5.0 37 a1: a0 + 2 38 a0: X 39 X: b1 40 } 41 42 t1total: { 43 for _, v in t1 {v} 44 } 45 46 // Issue #622 47 t2: a: { 48 a0: X 49 a1: a0 * 2 50 Y: a1 51 52 b0: Y 53 b1: b0 / 2 54 X: b1 55 56 X: 5.0 57 } 58 59 t2: b: { 60 b0: Y 61 b1: b0 / 2 62 X: b1 63 64 a0: X 65 a1: a0 * 2 66 Y: a1 67 68 X: 5.0 69 } 70 71 t2: c: { 72 b0: Y 73 b1: b0 / 2 74 X: b1 75 76 X: 5.0 77 78 a0: X 79 a1: a0 * 2 80 Y: a1 81 } 82 83 t2: d: { 84 b0: Y 85 b1: b0 / 2 86 X: b1 87 88 a0: X 89 a1: a0 * 2 90 Y: a1 91 92 X: 5.0 93 } 94 95 t2total: { 96 for _, v in t2 {v} 97 } 98 -- out/evalalpha/stats -- 99 Leaks: 58 100 Freed: 0 101 Reused: 0 102 Allocs: 58 103 Retain: 0 104 105 Unifications: 58 106 Conjuncts: 168 107 Disjuncts: 0 108 109 CloseIDElems: 0 110 NumCloseIDs: 32 111 -- diff/-out/evalalpha/stats<==>+out/eval/stats -- 112 diff old new 113 --- old 114 +++ new 115 @@ -1,9 +1,12 @@ 116 -Leaks: 0 117 -Freed: 58 118 -Reused: 49 119 -Allocs: 9 120 -Retain: 71 121 +Leaks: 58 122 +Freed: 0 123 +Reused: 0 124 +Allocs: 58 125 +Retain: 0 126 127 Unifications: 58 128 -Conjuncts: 410 129 -Disjuncts: 75 130 +Conjuncts: 168 131 +Disjuncts: 0 132 + 133 +CloseIDElems: 0 134 +NumCloseIDs: 32 135 -- out/eval/stats -- 136 Leaks: 0 137 Freed: 58 138 Reused: 49 139 Allocs: 9 140 Retain: 71 141 142 Unifications: 58 143 Conjuncts: 410 144 Disjuncts: 75 145 -- out/eval -- 146 (struct){ 147 t1: (struct){ 148 a: (struct){ 149 a1: (float){ 7.0 } 150 b1: (float){ 5.0 } 151 a0: (float){ 5.0 } 152 X: (float){ 5.0 } 153 } 154 b: (struct){ 155 X: (float){ 5.0 } 156 a1: (float){ 7.0 } 157 b1: (float){ 5.0 } 158 a0: (float){ 5.0 } 159 } 160 c: (struct){ 161 a1: (float){ 7.0 } 162 b1: (float){ 5.0 } 163 X: (float){ 5.0 } 164 a0: (float){ 5.0 } 165 } 166 } 167 t1total: (struct){ 168 a1: (float){ 7.0 } 169 b1: (float){ 5.0 } 170 a0: (float){ 5.0 } 171 X: (float){ 5.0 } 172 } 173 t2: (struct){ 174 a: (struct){ 175 a0: (float){ 5.0 } 176 a1: (float){ 10.0 } 177 Y: (float){ 10.0 } 178 b0: (float){ 10.0 } 179 b1: (float){ 5.0 } 180 X: (float){ 5.0 } 181 } 182 b: (struct){ 183 b0: (float){ 10.0 } 184 b1: (float){ 5.0 } 185 X: (float){ 5.0 } 186 a0: (float){ 5.0 } 187 a1: (float){ 10.0 } 188 Y: (float){ 10.0 } 189 } 190 c: (struct){ 191 b0: (float){ 10.0 } 192 b1: (float){ 5.0 } 193 X: (float){ 5.0 } 194 a0: (float){ 5.0 } 195 a1: (float){ 10.0 } 196 Y: (float){ 10.0 } 197 } 198 d: (struct){ 199 b0: (float){ 10.0 } 200 b1: (float){ 5.0 } 201 X: (float){ 5.0 } 202 a0: (float){ 5.0 } 203 a1: (float){ 10.0 } 204 Y: (float){ 10.0 } 205 } 206 } 207 t2total: (struct){ 208 a0: (float){ 5.0 } 209 a1: (float){ 10.0 } 210 Y: (float){ 10.0 } 211 b0: (float){ 10.0 } 212 b1: (float){ 5.0 } 213 X: (float){ 5.0 } 214 } 215 } 216 -- out/compile -- 217 --- in.cue 218 { 219 t1: { 220 a: { 221 a1: (〈0;a0〉 + 2) 222 b1: (〈0;a1〉 - 2) 223 a0: 〈0;X〉 224 X: 〈0;b1〉 225 X: 5.0 226 } 227 } 228 t1: { 229 b: { 230 X: 5.0 231 a1: (〈0;a0〉 + 2) 232 b1: (〈0;a1〉 - 2) 233 a0: 〈0;X〉 234 X: 〈0;b1〉 235 } 236 } 237 t1: { 238 c: { 239 a1: (〈0;a0〉 + 2) 240 b1: (〈0;a1〉 - 2) 241 X: 5.0 242 a0: 〈0;X〉 243 X: 〈0;b1〉 244 } 245 } 246 t1: { 247 c: { 248 b1: (〈0;a1〉 - 2) 249 a1: (〈0;a0〉 + 2) 250 X: 5.0 251 a0: 〈0;X〉 252 X: 〈0;b1〉 253 } 254 } 255 t1: { 256 c: { 257 b1: (〈0;a1〉 - 2) 258 X: 5.0 259 a1: (〈0;a0〉 + 2) 260 a0: 〈0;X〉 261 X: 〈0;b1〉 262 } 263 } 264 t1total: { 265 for _, v in 〈1;t1〉 { 266 〈1;v〉 267 } 268 } 269 t2: { 270 a: { 271 a0: 〈0;X〉 272 a1: (〈0;a0〉 * 2) 273 Y: 〈0;a1〉 274 b0: 〈0;Y〉 275 b1: (〈0;b0〉 / 2) 276 X: 〈0;b1〉 277 X: 5.0 278 } 279 } 280 t2: { 281 b: { 282 b0: 〈0;Y〉 283 b1: (〈0;b0〉 / 2) 284 X: 〈0;b1〉 285 a0: 〈0;X〉 286 a1: (〈0;a0〉 * 2) 287 Y: 〈0;a1〉 288 X: 5.0 289 } 290 } 291 t2: { 292 c: { 293 b0: 〈0;Y〉 294 b1: (〈0;b0〉 / 2) 295 X: 〈0;b1〉 296 X: 5.0 297 a0: 〈0;X〉 298 a1: (〈0;a0〉 * 2) 299 Y: 〈0;a1〉 300 } 301 } 302 t2: { 303 d: { 304 b0: 〈0;Y〉 305 b1: (〈0;b0〉 / 2) 306 X: 〈0;b1〉 307 a0: 〈0;X〉 308 a1: (〈0;a0〉 * 2) 309 Y: 〈0;a1〉 310 X: 5.0 311 } 312 } 313 t2total: { 314 for _, v in 〈1;t2〉 { 315 〈1;v〉 316 } 317 } 318 }