cuelang.org/go@v0.10.1/cue/testdata/definitions/issue471.txtar (about) 1 -- in.cue -- 2 package x 3 4 #a: (#c | #d) & { 5 name: string 6 } 7 8 #a1: #c & { 9 name: string 10 } 11 12 #a2: #d & { 13 name: string 14 } 15 16 #c: { 17 name: string 18 age: int 19 } 20 21 #d: { 22 name: string 23 address: string 24 } 25 -- out/eval/stats -- 26 Leaks: 0 27 Freed: 20 28 Reused: 14 29 Allocs: 6 30 Retain: 2 31 32 Unifications: 18 33 Conjuncts: 31 34 Disjuncts: 22 35 -- out/eval -- 36 (struct){ 37 #a: (#struct){ |((#struct){ 38 name: (string){ string } 39 age: (int){ int } 40 }, (#struct){ 41 name: (string){ string } 42 address: (string){ string } 43 }) } 44 #a1: (#struct){ 45 name: (string){ string } 46 age: (int){ int } 47 } 48 #a2: (#struct){ 49 name: (string){ string } 50 address: (string){ string } 51 } 52 #c: (#struct){ 53 name: (string){ string } 54 age: (int){ int } 55 } 56 #d: (#struct){ 57 name: (string){ string } 58 address: (string){ string } 59 } 60 } 61 -- out/compile -- 62 --- in.cue 63 { 64 #a: ((〈0;#c〉|〈0;#d〉) & { 65 name: string 66 }) 67 #a1: (〈0;#c〉 & { 68 name: string 69 }) 70 #a2: (〈0;#d〉 & { 71 name: string 72 }) 73 #c: { 74 name: string 75 age: int 76 } 77 #d: { 78 name: string 79 address: string 80 } 81 }