# DO NOT EDIT; generated by go run testdata/gen.go # #name: diamond-shaped constraints #evalPartial -- in.cue -- S: { A: { a: 1 } B: A & { b: 2 } } T: S & {// S == { A: { a:1 }, B: { a:1, b:2 } } A: { c: 3 } B: { d: 4 // Combines constraints S.A, S.B, T.A, and T.B // S.B & A } } -- out/def -- T: S & { A: { c: 3 } B: { d: 4 } } S: { A: { a: 1 } B: A & { b: 2 } } -- out/export -- T: { A: { a: 1 c: 3 } B: { a: 1 b: 2 c: 3 d: 4 } } S: { A: { a: 1 } B: { a: 1 b: 2 } } -- out/yaml -- T: A: a: 1 c: 3 B: a: 1 b: 2 c: 3 d: 4 S: A: a: 1 B: a: 1 b: 2 -- out/json -- {"T":{"A":{"a":1,"c":3},"B":{"a":1,"b":2,"c":3,"d":4}},"S":{"A":{"a":1},"B":{"a":1,"b":2}}} -- out/legacy-debug -- <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}}} -- out/compile -- --- in.cue { S: { A: { a: 1 } B: (〈0;A〉 & { b: 2 }) } T: (〈0;S〉 & { A: { c: 3 } B: { d: 4 } }) } -- out/eval/stats -- Leaks: 0 Freed: 16 Reused: 12 Allocs: 4 Retain: 0 Unifications: 16 Conjuncts: 25 Disjuncts: 16 -- out/evalalpha -- (struct){ S: (struct){ A: (struct){ a: (int){ 1 } } B: (struct){ b: (int){ 2 } a: (int){ 1 } } } T: (struct){ A: (struct){ c: (int){ 3 } a: (int){ 1 } } B: (struct){ d: (int){ 4 } b: (int){ 2 } c: (int){ 3 } a: (int){ 1 } } } } -- diff/-out/evalalpha<==>+out/eval -- diff old new --- old +++ new @@ -4,20 +4,20 @@ a: (int){ 1 } } B: (struct){ - a: (int){ 1 } - b: (int){ 2 } + b: (int){ 2 } + a: (int){ 1 } } } T: (struct){ A: (struct){ - a: (int){ 1 } - c: (int){ 3 } - } - B: (struct){ - a: (int){ 1 } - c: (int){ 3 } - b: (int){ 2 } + c: (int){ 3 } + a: (int){ 1 } + } + B: (struct){ d: (int){ 4 } + b: (int){ 2 } + c: (int){ 3 } + a: (int){ 1 } } } } -- diff/todo/p3 -- Reordering -- out/eval -- (struct){ S: (struct){ A: (struct){ a: (int){ 1 } } B: (struct){ a: (int){ 1 } b: (int){ 2 } } } T: (struct){ A: (struct){ a: (int){ 1 } c: (int){ 3 } } B: (struct){ a: (int){ 1 } c: (int){ 3 } b: (int){ 2 } d: (int){ 4 } } } }