cuelang.org/go@v0.13.0/cue/testdata/definitions/root5.txtar (about) 1 -- in.cue -- 2 _schema // embed schema through indirections 3 _schema: #Schema 4 #Schema: a?: b?: string 5 a: b: "foo" 6 c: "foo" 7 8 9 x: { 10 _schema // embed schema through indirections 11 _schema: #Schema 12 #Schema: a?: b?: string 13 a: b: "foo" 14 c: "foo" 15 } 16 -- out/eval/stats -- 17 Leaks: 0 18 Freed: 20 19 Reused: 14 20 Allocs: 6 21 Retain: 6 22 23 Unifications: 20 24 Conjuncts: 34 25 Disjuncts: 26 26 -- out/evalalpha -- 27 (#struct){ 28 _schema: ~(#Schema) 29 #Schema: (#struct){ 30 a?: (#struct){ 31 b?: (string){ string } 32 } 33 } 34 a: (#struct){ 35 b: (string){ "foo" } 36 } 37 c: (string){ "foo" } 38 x: (#struct){ 39 _schema: ~(x.#Schema) 40 #Schema: (#struct){ 41 a?: (#struct){ 42 b?: (string){ string } 43 } 44 } 45 a: (#struct){ 46 b: (string){ "foo" } 47 } 48 c: (string){ "foo" } 49 } 50 } 51 -- diff/-out/evalalpha<==>+out/eval -- 52 diff old new 53 --- old 54 +++ new 55 @@ -1,9 +1,5 @@ 56 (#struct){ 57 - _schema: (#struct){ 58 - a?: (#struct){ 59 - b?: (string){ string } 60 - } 61 - } 62 + _schema: ~(#Schema) 63 #Schema: (#struct){ 64 a?: (#struct){ 65 b?: (string){ string } 66 @@ -14,11 +10,7 @@ 67 } 68 c: (string){ "foo" } 69 x: (#struct){ 70 - _schema: (#struct){ 71 - a?: (#struct){ 72 - b?: (string){ string } 73 - } 74 - } 75 + _schema: ~(x.#Schema) 76 #Schema: (#struct){ 77 a?: (#struct){ 78 b?: (string){ string } 79 -- out/eval -- 80 (#struct){ 81 _schema: (#struct){ 82 a?: (#struct){ 83 b?: (string){ string } 84 } 85 } 86 #Schema: (#struct){ 87 a?: (#struct){ 88 b?: (string){ string } 89 } 90 } 91 a: (#struct){ 92 b: (string){ "foo" } 93 } 94 c: (string){ "foo" } 95 x: (#struct){ 96 _schema: (#struct){ 97 a?: (#struct){ 98 b?: (string){ string } 99 } 100 } 101 #Schema: (#struct){ 102 a?: (#struct){ 103 b?: (string){ string } 104 } 105 } 106 a: (#struct){ 107 b: (string){ "foo" } 108 } 109 c: (string){ "foo" } 110 } 111 } 112 -- out/compile -- 113 --- in.cue 114 { 115 〈0;_schema〉 116 _schema: 〈0;#Schema〉 117 #Schema: { 118 a?: { 119 b?: string 120 } 121 } 122 a: { 123 b: "foo" 124 } 125 c: "foo" 126 x: { 127 〈0;_schema〉 128 _schema: 〈0;#Schema〉 129 #Schema: { 130 a?: { 131 b?: string 132 } 133 } 134 a: { 135 b: "foo" 136 } 137 c: "foo" 138 } 139 }