cuelang.org/go@v0.10.1/cue/testdata/eval/required.txtar (about) 1 -- in.cue -- 2 self: t1: { 3 a?: int 4 } 5 6 self: t2: { 7 a!: int 8 a!: int 9 } 10 11 unify: t1: p1: { 12 a!: int 13 a: int 14 } 15 16 unify: t1: p2: { 17 a: int 18 a!: int 19 } 20 21 unify: t2: p1: { 22 a!: int 23 a?: int 24 } 25 26 unify: t2: p2: { 27 a?: int 28 a!: int 29 } 30 #Def: t1: { 31 a!: int 32 } 33 34 allowed: issue2306: { 35 #A: a!: int 36 #A: #B 37 38 #B: b!: int 39 } 40 -- out/compile -- 41 --- in.cue 42 { 43 self: { 44 t1: { 45 a?: int 46 } 47 } 48 self: { 49 t2: { 50 a!: int 51 a!: int 52 } 53 } 54 unify: { 55 t1: { 56 p1: { 57 a!: int 58 a: int 59 } 60 } 61 } 62 unify: { 63 t1: { 64 p2: { 65 a: int 66 a!: int 67 } 68 } 69 } 70 unify: { 71 t2: { 72 p1: { 73 a!: int 74 a?: int 75 } 76 } 77 } 78 unify: { 79 t2: { 80 p2: { 81 a?: int 82 a!: int 83 } 84 } 85 } 86 #Def: { 87 t1: { 88 a!: int 89 } 90 } 91 allowed: { 92 issue2306: { 93 #A: { 94 a!: int 95 } 96 #A: ă0;#Bă 97 #B: { 98 b!: int 99 } 100 } 101 } 102 } 103 -- out/eval/stats -- 104 Leaks: 0 105 Freed: 27 106 Reused: 21 107 Allocs: 6 108 Retain: 1 109 110 Unifications: 27 111 Conjuncts: 40 112 Disjuncts: 28 113 -- out/evalalpha -- 114 (_|_){ 115 // [eval] 116 self: (struct){ 117 t1: (struct){ 118 a?: (int){ int } 119 } 120 t2: (struct){ 121 a!: (int){ int } 122 } 123 } 124 unify: (struct){ 125 t1: (struct){ 126 p1: (struct){ 127 a: (int){ int } 128 } 129 p2: (struct){ 130 a: (int){ int } 131 } 132 } 133 t2: (struct){ 134 p1: (struct){ 135 a!: (int){ int } 136 } 137 p2: (struct){ 138 a!: (int){ int } 139 } 140 } 141 } 142 #Def: (#struct){ 143 t1: (#struct){ 144 a!: (int){ int } 145 } 146 } 147 allowed: (_|_){ 148 // [eval] 149 issue2306: (_|_){ 150 // [eval] 151 #A: (_|_){ 152 // [eval] 153 a!: (_|_){ 154 // [eval] allowed.issue2306.#A.a: field not allowed: 155 // ./in.cue:34:6 156 } 157 b!: (int){ int } 158 } 159 #B: (#struct){ 160 b!: (int){ int } 161 } 162 } 163 } 164 } 165 -- diff/-out/evalalpha<==>+out/eval -- 166 diff old new 167 --- old 168 +++ new 169 @@ -40,8 +40,6 @@ 170 a!: (_|_){ 171 // [eval] allowed.issue2306.#A.a: field not allowed: 172 // ./in.cue:34:6 173 - // ./in.cue:35:6 174 - // ./in.cue:37:6 175 } 176 b!: (int){ int } 177 } 178 -- diff/todo/p2 -- 179 Missing position. 180 -- out/eval -- 181 (_|_){ 182 // [eval] 183 self: (struct){ 184 t1: (struct){ 185 a?: (int){ int } 186 } 187 t2: (struct){ 188 a!: (int){ int } 189 } 190 } 191 unify: (struct){ 192 t1: (struct){ 193 p1: (struct){ 194 a: (int){ int } 195 } 196 p2: (struct){ 197 a: (int){ int } 198 } 199 } 200 t2: (struct){ 201 p1: (struct){ 202 a!: (int){ int } 203 } 204 p2: (struct){ 205 a!: (int){ int } 206 } 207 } 208 } 209 #Def: (#struct){ 210 t1: (#struct){ 211 a!: (int){ int } 212 } 213 } 214 allowed: (_|_){ 215 // [eval] 216 issue2306: (_|_){ 217 // [eval] 218 #A: (_|_){ 219 // [eval] 220 a!: (_|_){ 221 // [eval] allowed.issue2306.#A.a: field not allowed: 222 // ./in.cue:34:6 223 // ./in.cue:35:6 224 // ./in.cue:37:6 225 } 226 b!: (int){ int } 227 } 228 #B: (#struct){ 229 b!: (int){ int } 230 } 231 } 232 } 233 }