github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/cue/testdata/cycle/issue242.txtar (about) 1 # TODO: remove support for '::'; cuelang.org/issue/1543 2 3 -- in.cue -- 4 size :: 2 5 #CellValue: 0 | 1 | 2 | 3 6 cell: "0": "0": #CellValue 7 cell: "0": "0": !=cell["0"]["1"] 8 cell: "0": "0": !=cell["1"]["0"] 9 cell: "0": "0": !=cell["1"]["1"] 10 11 cell: "0": "1": #CellValue 12 cell: "0": "1": !=cell["0"]["0"] 13 cell: "0": "1": !=cell["1"]["0"] 14 cell: "0": "1": !=cell["1"]["1"] 15 16 cell: "1": "0": #CellValue 17 cell: "1": "0": !=cell["0"]["0"] 18 cell: "1": "0": !=cell["0"]["1"] 19 cell: "1": "0": !=cell["1"]["1"] 20 21 cell: "1": "1": #CellValue 22 cell: "1": "1": !=cell["0"]["0"] 23 cell: "1": "1": !=cell["0"]["1"] 24 cell: "1": "1": !=cell["1"]["0"] 25 26 cell: "0": "0": 0 27 cell: "0": "1": 1 28 cell: "1": "0": 2 29 cell: "1": "1": 3 30 31 cell2: a: 0 | 1 32 cell2: a: !=cell2.b 33 34 cell2: b: 0 | 1 35 cell2: b: !=cell2.a 36 37 cell2: a: _ 38 cell2: b: 1 39 40 cell3: a: 0 | 1 41 cell3: a: !=cell3.b 42 43 cell3: b: 0 | 1 44 cell3: b: !=cell3.a 45 46 cell3: a: 0 47 cell3: b: _ 48 49 cell4: a: 0 | 1 50 cell4: a: !=cell4.b 51 52 cell4: b: 0 | 1 53 cell4: b: !=cell4.a 54 55 cell4: b: _ 56 cell4: a: 0 57 58 cell5: b: 0 | 1 59 cell5: b: !=cell5.a 60 61 cell5: a: 0 | 1 62 cell5: a: !=cell5.b 63 64 cell5: b: _ 65 cell5: a: 0 66 67 a: #CellValue 68 a: !=b 69 a: !=c 70 a: !=d 71 72 b: #CellValue 73 b: !=a 74 b: !=c 75 b: !=d 76 77 c: #CellValue 78 c: !=a 79 c: !=b 80 c: !=d 81 82 d: #CellValue 83 d: !=a 84 d: !=b 85 d: !=c 86 87 a: 0 88 b: 1 89 c: 2 90 d: 3 91 -- out/eval -- 92 (struct){ 93 size: (int){ 2 } 94 #CellValue: (int){ |((int){ 0 }, (int){ 1 }, (int){ 2 }, (int){ 3 }) } 95 cell: (struct){ 96 "0": (struct){ 97 "0": (int){ 0 } 98 "1": (int){ 1 } 99 } 100 "1": (struct){ 101 "0": (int){ 2 } 102 "1": (int){ 3 } 103 } 104 } 105 cell2: (struct){ 106 a: (int){ 0 } 107 b: (int){ 1 } 108 } 109 cell3: (struct){ 110 a: (int){ 0 } 111 b: (int){ 1 } 112 } 113 cell4: (struct){ 114 a: (int){ 0 } 115 b: (int){ 1 } 116 } 117 cell5: (struct){ 118 b: (int){ 1 } 119 a: (int){ 0 } 120 } 121 a: (int){ 0 } 122 b: (int){ 1 } 123 c: (int){ 2 } 124 d: (int){ 3 } 125 } 126 -- out/compile -- 127 --- in.cue 128 { 129 size:: 2 130 #CellValue: (0|1|2|3) 131 cell: { 132 "0": { 133 "0": 〈2;#CellValue〉 134 } 135 } 136 cell: { 137 "0": { 138 "0": !=〈2;cell〉["0"]["1"] 139 } 140 } 141 cell: { 142 "0": { 143 "0": !=〈2;cell〉["1"]["0"] 144 } 145 } 146 cell: { 147 "0": { 148 "0": !=〈2;cell〉["1"]["1"] 149 } 150 } 151 cell: { 152 "0": { 153 "1": 〈2;#CellValue〉 154 } 155 } 156 cell: { 157 "0": { 158 "1": !=〈2;cell〉["0"]["0"] 159 } 160 } 161 cell: { 162 "0": { 163 "1": !=〈2;cell〉["1"]["0"] 164 } 165 } 166 cell: { 167 "0": { 168 "1": !=〈2;cell〉["1"]["1"] 169 } 170 } 171 cell: { 172 "1": { 173 "0": 〈2;#CellValue〉 174 } 175 } 176 cell: { 177 "1": { 178 "0": !=〈2;cell〉["0"]["0"] 179 } 180 } 181 cell: { 182 "1": { 183 "0": !=〈2;cell〉["0"]["1"] 184 } 185 } 186 cell: { 187 "1": { 188 "0": !=〈2;cell〉["1"]["1"] 189 } 190 } 191 cell: { 192 "1": { 193 "1": 〈2;#CellValue〉 194 } 195 } 196 cell: { 197 "1": { 198 "1": !=〈2;cell〉["0"]["0"] 199 } 200 } 201 cell: { 202 "1": { 203 "1": !=〈2;cell〉["0"]["1"] 204 } 205 } 206 cell: { 207 "1": { 208 "1": !=〈2;cell〉["1"]["0"] 209 } 210 } 211 cell: { 212 "0": { 213 "0": 0 214 } 215 } 216 cell: { 217 "0": { 218 "1": 1 219 } 220 } 221 cell: { 222 "1": { 223 "0": 2 224 } 225 } 226 cell: { 227 "1": { 228 "1": 3 229 } 230 } 231 cell2: { 232 a: (0|1) 233 } 234 cell2: { 235 a: !=〈1;cell2〉.b 236 } 237 cell2: { 238 b: (0|1) 239 } 240 cell2: { 241 b: !=〈1;cell2〉.a 242 } 243 cell2: { 244 a: _ 245 } 246 cell2: { 247 b: 1 248 } 249 cell3: { 250 a: (0|1) 251 } 252 cell3: { 253 a: !=〈1;cell3〉.b 254 } 255 cell3: { 256 b: (0|1) 257 } 258 cell3: { 259 b: !=〈1;cell3〉.a 260 } 261 cell3: { 262 a: 0 263 } 264 cell3: { 265 b: _ 266 } 267 cell4: { 268 a: (0|1) 269 } 270 cell4: { 271 a: !=〈1;cell4〉.b 272 } 273 cell4: { 274 b: (0|1) 275 } 276 cell4: { 277 b: !=〈1;cell4〉.a 278 } 279 cell4: { 280 b: _ 281 } 282 cell4: { 283 a: 0 284 } 285 cell5: { 286 b: (0|1) 287 } 288 cell5: { 289 b: !=〈1;cell5〉.a 290 } 291 cell5: { 292 a: (0|1) 293 } 294 cell5: { 295 a: !=〈1;cell5〉.b 296 } 297 cell5: { 298 b: _ 299 } 300 cell5: { 301 a: 0 302 } 303 a: 〈0;#CellValue〉 304 a: !=〈0;b〉 305 a: !=〈0;c〉 306 a: !=〈0;d〉 307 b: 〈0;#CellValue〉 308 b: !=〈0;a〉 309 b: !=〈0;c〉 310 b: !=〈0;d〉 311 c: 〈0;#CellValue〉 312 c: !=〈0;a〉 313 c: !=〈0;b〉 314 c: !=〈0;d〉 315 d: 〈0;#CellValue〉 316 d: !=〈0;a〉 317 d: !=〈0;b〉 318 d: !=〈0;c〉 319 a: 0 320 b: 1 321 c: 2 322 d: 3 323 }