...
1# DO NOT EDIT; generated by go run testdata/gen.go
2#
3#name: resolved self-reference cycles
4#evalPartial
5-- in.cue --
6math: p1: {
7 a: b - 100
8 b: a + 100
9 b: 200
10}
11math: p2: {
12 a: b - 100
13 b: 200
14 b: a + 100
15}
16math: p3: {
17 b: a + 100
18 a: b - 100
19 b: 200
20}
21math: p4: {
22 b: a + 100
23 b: 200
24 a: b - 100
25}
26math: p5: {
27 b: 200
28 b: a + 100
29 a: b - 100
30}
31math: p6: {
32 b: 200
33 a: b - 100
34 b: a + 100
35}
36
37a: 100
38
39list: t0: c: [c[0]]
40
41list: t1: p1: c: [c[1], a]
42list: t1: p2: c: [a, c[0]]
43
44nodes: t1: p1: s1: s1 & {a: 1}
45nodes: t1: p2: s1: {a: 1} & s1
46nodes: t2: {
47 s1: s2 & {a: 1}
48 s2: s1 & {b: 2}
49}
50nodes: t3: {
51 s1: s2 & {a: 1}
52 s2: s3 & {b: 2}
53 s3: s1 & {c: 3}
54}
55
56-- out/def --
57a: 100
58b: 200
59c: [100, 100]
60s1: s2 & {
61 a: 1
62}
63s2: s3 & {
64 b: 2
65}
66s3: s1 & {
67 c: 3
68}
69-- out/export --
70a: 100
71b: 200
72c: [100, 100]
73s1: {
74 a: 1
75 b: 2
76 c: 3
77}
78s2: {
79 a: 1
80 b: 2
81 c: 3
82}
83s3: {
84 a: 1
85 b: 2
86 c: 3
87}
88-- out/yaml --
89a: 100
90b: 200
91c:
92- 100
93- 100
94s1:
95 a: 1
96 b: 2
97 c: 3
98s2:
99 a: 1
100 b: 2
101 c: 3
102s3:
103 a: 1
104 b: 2
105 c: 3
106-- out/json --
107{"a":100,"b":200,"c":[100,100],"s1":{"a":1,"b":2,"c":3},"s2":{"a":1,"b":2,"c":3},"s3":{"a":1,"b":2,"c":3}}
108-- out/legacy-debug --
109<0>{a: 100, b: 200, c: [100,100], s1: <1>{a: 1, b: 2, c: 3}, s2: <2>{a: 1, b: 2, c: 3}, s3: <3>{a: 1, b: 2, c: 3}}
110-- out/compile --
111--- in.cue
112{
113 math: {
114 p1: {
115 a: (〈0;b〉 - 100)
116 b: (〈0;a〉 + 100)
117 b: 200
118 }
119 }
120 math: {
121 p2: {
122 a: (〈0;b〉 - 100)
123 b: 200
124 b: (〈0;a〉 + 100)
125 }
126 }
127 math: {
128 p3: {
129 b: (〈0;a〉 + 100)
130 a: (〈0;b〉 - 100)
131 b: 200
132 }
133 }
134 math: {
135 p4: {
136 b: (〈0;a〉 + 100)
137 b: 200
138 a: (〈0;b〉 - 100)
139 }
140 }
141 math: {
142 p5: {
143 b: 200
144 b: (〈0;a〉 + 100)
145 a: (〈0;b〉 - 100)
146 }
147 }
148 math: {
149 p6: {
150 b: 200
151 a: (〈0;b〉 - 100)
152 b: (〈0;a〉 + 100)
153 }
154 }
155 a: 100
156 list: {
157 t0: {
158 c: [
159 〈1;c〉[0],
160 ]
161 }
162 }
163 list: {
164 t1: {
165 p1: {
166 c: [
167 〈1;c〉[1],
168 〈4;a〉,
169 ]
170 }
171 }
172 }
173 list: {
174 t1: {
175 p2: {
176 c: [
177 〈4;a〉,
178 〈1;c〉[0],
179 ]
180 }
181 }
182 }
183 nodes: {
184 t1: {
185 p1: {
186 s1: (〈0;s1〉 & {
187 a: 1
188 })
189 }
190 }
191 }
192 nodes: {
193 t1: {
194 p2: {
195 s1: ({
196 a: 1
197 } & 〈0;s1〉)
198 }
199 }
200 }
201 nodes: {
202 t2: {
203 s1: (〈0;s2〉 & {
204 a: 1
205 })
206 s2: (〈0;s1〉 & {
207 b: 2
208 })
209 }
210 }
211 nodes: {
212 t3: {
213 s1: (〈0;s2〉 & {
214 a: 1
215 })
216 s2: (〈0;s3〉 & {
217 b: 2
218 })
219 s3: (〈0;s1〉 & {
220 c: 3
221 })
222 }
223 }
224}
225-- out/eval/stats --
226Leaks: 0
227Freed: 62
228Reused: 55
229Allocs: 7
230Retain: 10
231
232Unifications: 62
233Conjuncts: 105
234Disjuncts: 70
235-- out/evalalpha --
236(struct){
237 math: (struct){
238 p1: (struct){
239 a: (int){ 100 }
240 b: (int){ 200 }
241 }
242 p2: (struct){
243 a: (int){ 100 }
244 b: (int){ 200 }
245 }
246 p3: (struct){
247 b: (int){ 200 }
248 a: (int){ 100 }
249 }
250 p4: (struct){
251 b: (int){ 200 }
252 a: (int){ 100 }
253 }
254 p5: (struct){
255 b: (int){ 200 }
256 a: (int){ 100 }
257 }
258 p6: (struct){
259 b: (int){ 200 }
260 a: (int){ 100 }
261 }
262 }
263 a: (int){ 100 }
264 list: (struct){
265 t0: (struct){
266 c: (#list){
267 0: (_){ _ }
268 }
269 }
270 t1: (struct){
271 p1: (struct){
272 c: (#list){
273 0: (int){ 100 }
274 1: (int){ 100 }
275 }
276 }
277 p2: (struct){
278 c: (#list){
279 0: (int){ 100 }
280 1: (int){ 100 }
281 }
282 }
283 }
284 }
285 nodes: (struct){
286 t1: (struct){
287 p1: (struct){
288 s1: (struct){
289 a: (int){ 1 }
290 }
291 }
292 p2: (struct){
293 s1: (struct){
294 a: (int){ 1 }
295 }
296 }
297 }
298 t2: (struct){
299 s1: (struct){
300 a: (int){ 1 }
301 b: (int){ 2 }
302 }
303 s2: (struct){
304 b: (int){ 2 }
305 a: (int){ 1 }
306 }
307 }
308 t3: (struct){
309 s1: (struct){
310 a: (int){ 1 }
311 b: (int){ 2 }
312 c: (int){ 3 }
313 }
314 s2: (struct){
315 b: (int){ 2 }
316 c: (int){ 3 }
317 a: (int){ 1 }
318 }
319 s3: (struct){
320 c: (int){ 3 }
321 a: (int){ 1 }
322 b: (int){ 2 }
323 }
324 }
325 }
326}
327-- diff/-out/evalalpha<==>+out/eval --
328diff old new
329--- old
330+++ new
331@@ -73,18 +73,18 @@
332 t3: (struct){
333 s1: (struct){
334 a: (int){ 1 }
335- c: (int){ 3 }
336- b: (int){ 2 }
337- }
338- s2: (struct){
339- b: (int){ 2 }
340- a: (int){ 1 }
341- c: (int){ 3 }
342+ b: (int){ 2 }
343+ c: (int){ 3 }
344+ }
345+ s2: (struct){
346+ b: (int){ 2 }
347+ c: (int){ 3 }
348+ a: (int){ 1 }
349 }
350 s3: (struct){
351 c: (int){ 3 }
352- b: (int){ 2 }
353- a: (int){ 1 }
354+ a: (int){ 1 }
355+ b: (int){ 2 }
356 }
357 }
358 }
359-- diff/explanation --
360Reordering.
361-- out/eval --
362(struct){
363 math: (struct){
364 p1: (struct){
365 a: (int){ 100 }
366 b: (int){ 200 }
367 }
368 p2: (struct){
369 a: (int){ 100 }
370 b: (int){ 200 }
371 }
372 p3: (struct){
373 b: (int){ 200 }
374 a: (int){ 100 }
375 }
376 p4: (struct){
377 b: (int){ 200 }
378 a: (int){ 100 }
379 }
380 p5: (struct){
381 b: (int){ 200 }
382 a: (int){ 100 }
383 }
384 p6: (struct){
385 b: (int){ 200 }
386 a: (int){ 100 }
387 }
388 }
389 a: (int){ 100 }
390 list: (struct){
391 t0: (struct){
392 c: (#list){
393 0: (_){ _ }
394 }
395 }
396 t1: (struct){
397 p1: (struct){
398 c: (#list){
399 0: (int){ 100 }
400 1: (int){ 100 }
401 }
402 }
403 p2: (struct){
404 c: (#list){
405 0: (int){ 100 }
406 1: (int){ 100 }
407 }
408 }
409 }
410 }
411 nodes: (struct){
412 t1: (struct){
413 p1: (struct){
414 s1: (struct){
415 a: (int){ 1 }
416 }
417 }
418 p2: (struct){
419 s1: (struct){
420 a: (int){ 1 }
421 }
422 }
423 }
424 t2: (struct){
425 s1: (struct){
426 a: (int){ 1 }
427 b: (int){ 2 }
428 }
429 s2: (struct){
430 b: (int){ 2 }
431 a: (int){ 1 }
432 }
433 }
434 t3: (struct){
435 s1: (struct){
436 a: (int){ 1 }
437 c: (int){ 3 }
438 b: (int){ 2 }
439 }
440 s2: (struct){
441 b: (int){ 2 }
442 a: (int){ 1 }
443 c: (int){ 3 }
444 }
445 s3: (struct){
446 c: (int){ 3 }
447 b: (int){ 2 }
448 a: (int){ 1 }
449 }
450 }
451 }
452}
View as plain text