cuelang.org/go@v0.10.1/cue/testdata/definitions/issue370.txtar (about) 1 2 -- x.cue -- 3 package x 4 5 #C1: { 6 name: string 7 } 8 9 #C2: { 10 #C1 11 age: int 12 } 13 14 c1: #C1 & { 15 name: "cueckoo" 16 } 17 18 c2: #C2 & { 19 c1 20 age: 5 21 } 22 -- out/eval/stats -- 23 Leaks: 0 24 Freed: 11 25 Reused: 8 26 Allocs: 3 27 Retain: 0 28 29 Unifications: 11 30 Conjuncts: 27 31 Disjuncts: 11 32 -- out/evalalpha -- 33 (struct){ 34 #C1: (#struct){ 35 name: (string){ string } 36 } 37 #C2: (#struct){ 38 age: (int){ int } 39 name: (string){ string } 40 } 41 c1: (#struct){ 42 name: (string){ "cueckoo" } 43 } 44 c2: (#struct){ 45 age: (int){ 5 } 46 name: (string){ "cueckoo" } 47 } 48 } 49 -- diff/-out/evalalpha<==>+out/eval -- 50 diff old new 51 --- old 52 +++ new 53 @@ -3,14 +3,14 @@ 54 name: (string){ string } 55 } 56 #C2: (#struct){ 57 - name: (string){ string } 58 age: (int){ int } 59 + name: (string){ string } 60 } 61 c1: (#struct){ 62 name: (string){ "cueckoo" } 63 } 64 c2: (#struct){ 65 - name: (string){ "cueckoo" } 66 age: (int){ 5 } 67 + name: (string){ "cueckoo" } 68 } 69 } 70 -- diff/explanation -- 71 Reordering 72 -- out/eval -- 73 (struct){ 74 #C1: (#struct){ 75 name: (string){ string } 76 } 77 #C2: (#struct){ 78 name: (string){ string } 79 age: (int){ int } 80 } 81 c1: (#struct){ 82 name: (string){ "cueckoo" } 83 } 84 c2: (#struct){ 85 name: (string){ "cueckoo" } 86 age: (int){ 5 } 87 } 88 } 89 -- out/compile -- 90 --- x.cue 91 { 92 #C1: { 93 name: string 94 } 95 #C2: { 96 〈1;#C1〉 97 age: int 98 } 99 c1: (〈0;#C1〉 & { 100 name: "cueckoo" 101 }) 102 c2: (〈0;#C2〉 & { 103 〈1;c1〉 104 age: 5 105 }) 106 }