cuelang.org/go@v0.10.1/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/eval/stats -- 99 Leaks: 0 100 Freed: 58 101 Reused: 49 102 Allocs: 9 103 Retain: 71 104 105 Unifications: 58 106 Conjuncts: 410 107 Disjuncts: 75 108 -- out/eval -- 109 (struct){ 110 t1: (struct){ 111 a: (struct){ 112 a1: (float){ 7.0 } 113 b1: (float){ 5.0 } 114 a0: (float){ 5.0 } 115 X: (float){ 5.0 } 116 } 117 b: (struct){ 118 X: (float){ 5.0 } 119 a1: (float){ 7.0 } 120 b1: (float){ 5.0 } 121 a0: (float){ 5.0 } 122 } 123 c: (struct){ 124 a1: (float){ 7.0 } 125 b1: (float){ 5.0 } 126 X: (float){ 5.0 } 127 a0: (float){ 5.0 } 128 } 129 } 130 t1total: (struct){ 131 a1: (float){ 7.0 } 132 b1: (float){ 5.0 } 133 a0: (float){ 5.0 } 134 X: (float){ 5.0 } 135 } 136 t2: (struct){ 137 a: (struct){ 138 a0: (float){ 5.0 } 139 a1: (float){ 10.0 } 140 Y: (float){ 10.0 } 141 b0: (float){ 10.0 } 142 b1: (float){ 5.0 } 143 X: (float){ 5.0 } 144 } 145 b: (struct){ 146 b0: (float){ 10.0 } 147 b1: (float){ 5.0 } 148 X: (float){ 5.0 } 149 a0: (float){ 5.0 } 150 a1: (float){ 10.0 } 151 Y: (float){ 10.0 } 152 } 153 c: (struct){ 154 b0: (float){ 10.0 } 155 b1: (float){ 5.0 } 156 X: (float){ 5.0 } 157 a0: (float){ 5.0 } 158 a1: (float){ 10.0 } 159 Y: (float){ 10.0 } 160 } 161 d: (struct){ 162 b0: (float){ 10.0 } 163 b1: (float){ 5.0 } 164 X: (float){ 5.0 } 165 a0: (float){ 5.0 } 166 a1: (float){ 10.0 } 167 Y: (float){ 10.0 } 168 } 169 } 170 t2total: (struct){ 171 a0: (float){ 5.0 } 172 a1: (float){ 10.0 } 173 Y: (float){ 10.0 } 174 b0: (float){ 10.0 } 175 b1: (float){ 5.0 } 176 X: (float){ 5.0 } 177 } 178 } 179 -- out/compile -- 180 --- in.cue 181 { 182 t1: { 183 a: { 184 a1: (〈0;a0〉 + 2) 185 b1: (〈0;a1〉 - 2) 186 a0: 〈0;X〉 187 X: 〈0;b1〉 188 X: 5.0 189 } 190 } 191 t1: { 192 b: { 193 X: 5.0 194 a1: (〈0;a0〉 + 2) 195 b1: (〈0;a1〉 - 2) 196 a0: 〈0;X〉 197 X: 〈0;b1〉 198 } 199 } 200 t1: { 201 c: { 202 a1: (〈0;a0〉 + 2) 203 b1: (〈0;a1〉 - 2) 204 X: 5.0 205 a0: 〈0;X〉 206 X: 〈0;b1〉 207 } 208 } 209 t1: { 210 c: { 211 b1: (〈0;a1〉 - 2) 212 a1: (〈0;a0〉 + 2) 213 X: 5.0 214 a0: 〈0;X〉 215 X: 〈0;b1〉 216 } 217 } 218 t1: { 219 c: { 220 b1: (〈0;a1〉 - 2) 221 X: 5.0 222 a1: (〈0;a0〉 + 2) 223 a0: 〈0;X〉 224 X: 〈0;b1〉 225 } 226 } 227 t1total: { 228 for _, v in 〈1;t1〉 { 229 〈1;v〉 230 } 231 } 232 t2: { 233 a: { 234 a0: 〈0;X〉 235 a1: (〈0;a0〉 * 2) 236 Y: 〈0;a1〉 237 b0: 〈0;Y〉 238 b1: (〈0;b0〉 / 2) 239 X: 〈0;b1〉 240 X: 5.0 241 } 242 } 243 t2: { 244 b: { 245 b0: 〈0;Y〉 246 b1: (〈0;b0〉 / 2) 247 X: 〈0;b1〉 248 a0: 〈0;X〉 249 a1: (〈0;a0〉 * 2) 250 Y: 〈0;a1〉 251 X: 5.0 252 } 253 } 254 t2: { 255 c: { 256 b0: 〈0;Y〉 257 b1: (〈0;b0〉 / 2) 258 X: 〈0;b1〉 259 X: 5.0 260 a0: 〈0;X〉 261 a1: (〈0;a0〉 * 2) 262 Y: 〈0;a1〉 263 } 264 } 265 t2: { 266 d: { 267 b0: 〈0;Y〉 268 b1: (〈0;b0〉 / 2) 269 X: 〈0;b1〉 270 a0: 〈0;X〉 271 a1: (〈0;a0〉 * 2) 272 Y: 〈0;a1〉 273 X: 5.0 274 } 275 } 276 t2total: { 277 for _, v in 〈1;t2〉 { 278 〈1;v〉 279 } 280 } 281 }