cuelang.org/go@v0.13.0/cue/testdata/eval/bounds.txtar (about) 1 -- in.cue -- 2 x0: 5 3 x1: b5 & 30 4 5 b0: <x0 & >0 6 b1: b0 & int 7 b2: int & <5.5 8 b3: <10 & <=5 9 b4: >=20 & >20 10 b5: >=21 & >20 11 b6: int & >5 & <=6 12 13 simplifyExpr: { 14 less1: <(<3) 15 less2: <(<=3) 16 less3: <=(<3) 17 less4: <=(<=3) 18 less5: <(!=3) 19 less6: <=(!=3) 20 21 gtr1: >(>3) 22 gtr2: >(>=3) 23 gtr3: >=(>3) 24 gtr4: >=(>=3) 25 gtr5: >(!=3) 26 gtr6: >=(!=3) 27 28 lg1: <(>3) 29 lg2: <(>=3) 30 lg3: <=(>3) 31 lg4: <=(>=3) 32 33 gl1: >(<3) 34 gl2: >(<=3) 35 gl3: >=(<3) 36 gl4: >=(<=3) 37 38 ne1: !=(!=3) 39 ne2: !=(<3) 40 ne3: !=(<=3) 41 ne4: !=(>3) 42 ne5: !=(>=3) 43 44 s: string 45 n: number 46 i: int 47 f: float 48 b: bytes 49 basic1: <(i) 50 basic2: >(n) 51 basic3: >=(s) 52 basic4: <=(f) 53 basic5: <=(b) 54 55 // Do NOT interpret this the same as `!= type`. 56 bne1: !=(s) 57 bne2: !=(n) 58 bne3: !=(n) 59 bne4: !=(i) 60 bne5: !=(b) 61 62 e1: <(=~"foo") 63 e2: >(null) 64 } 65 -- binarystring.cue -- 66 simplifyBinary: strings: { 67 err1: p1: <"a" & >"b" 68 err1: p2: >"b" & <"a" 69 70 err2: p1: >"b" & <="a" 71 err2: p2: <="a" & >"b" 72 73 err3: p1: >="b" & <"b" 74 err3: p2: <"b" & >="b" 75 err3: p3: >"b" & <="b" 76 err3: p4: <="b" & >"b" 77 78 ok1: p1: >"a" & <"b" 79 ok1: p2: <"b" & >"a" 80 81 ok2: p1: >"a" & <="b" 82 ok2: p2: <="b" & >"a" 83 ok2: p3: >="a" & <"b" 84 ok2: p4: <"b" & >="a" 85 86 ok3: p1: >="b" & <="c" 87 ok3: p2: <="c" & >="b" 88 89 ok4: p1: >="b" & <="b" 90 } 91 simplifyBinary: byte: { 92 err1: p1: <'a' & >'b' 93 err1: p2: >'b' & <'a' 94 95 err2: p1: >'b' & <='a' 96 err2: p2: <='a' & >'b' 97 98 err3: p1: >='b' & <'b' 99 err3: p2: <'b' & >='b' 100 err3: p3: >'b' & <='b' 101 err3: p4: <='b' & >'b' 102 103 ok1: p1: >'a' & <'b' 104 ok1: p2: <'b' & >'a' 105 106 ok2: p1: >'a' & <='b' 107 ok2: p2: <='b' & >'a' 108 ok2: p3: >='a' & <'b' 109 ok2: p4: <'b' & >='a' 110 111 ok3: p1: >='b' & <='c' 112 ok3: p2: <='c' & >='b' 113 114 ok4: p1: >='b' & <='b' 115 } 116 -- binary.cue -- 117 simplifyBinary: float: { 118 err1: p1: <1 & >2 119 err1: p2: >2 & <1 120 121 err2: p1: >2 & <=1 122 err2: p2: <=1 & >2 123 124 err3: p1: >=2 & <2 125 err3: p2: <2 & >=2 126 err3: p3: >2 & <=2 127 err3: p4: <=2 & >2 128 129 ok1: p1: >1 & <2 130 ok1: p2: <2 & >1 131 132 ok2: p1: >=2 & <=2 133 ok2: p2: <=2 & >=2 134 } 135 136 simplifyBinary: integer: { 137 [_]: [_]: int 138 err1: p1: <1 & >2 139 err1: p2: >2 & <1 140 141 err2: p1: >2 & <=1 142 err2: p2: <=1 & >2 143 144 err3: p1: >=2 & <2 145 err3: p2: <2 & >=2 146 err3: p3: >2 & <=2 147 err3: p4: <=2 & >2 148 149 err4: p1: >1 & <2 150 err4: p2: <2 & >1 151 152 ok1: p1: >=2 & <=3 153 ok1: p2: <=3 & >=2 154 155 ok2: p1: >=2 & <=2 156 ok2: p2: <=2 & >=2 157 158 ok3: p1: >=2 & <3 159 ok3: p2: >2 & <=3 160 ok3: p3: <3 & >=2 161 ok3: p4: <=3 & >2 162 } 163 -- out/eval/stats -- 164 Leaks: 0 165 Freed: 148 166 Reused: 143 167 Allocs: 5 168 Retain: 1 169 170 Unifications: 148 171 Conjuncts: 337 172 Disjuncts: 149 173 -- out/evalalpha -- 174 Errors: 175 simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2: 176 ./binary.cue:2:18 177 ./binary.cue:2:13 178 simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2: 179 ./binary.cue:3:18 180 ./binary.cue:3:13 181 simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2: 182 ./binary.cue:5:18 183 ./binary.cue:5:13 184 simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2: 185 ./binary.cue:6:19 186 ./binary.cue:6:13 187 simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2: 188 ./binary.cue:8:19 189 ./binary.cue:8:13 190 simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2: 191 ./binary.cue:9:18 192 ./binary.cue:9:13 193 simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2: 194 ./binary.cue:10:18 195 ./binary.cue:10:13 196 simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2: 197 ./binary.cue:11:19 198 ./binary.cue:11:13 199 simplifyBinary.integer.err1.p1: incompatible integer bounds <1 and >2: 200 ./binary.cue:22:18 201 ./binary.cue:22:13 202 simplifyBinary.integer.err1.p2: incompatible integer bounds <1 and >2: 203 ./binary.cue:23:18 204 ./binary.cue:23:13 205 simplifyBinary.integer.err2.p1: incompatible integer bounds <=1 and >2: 206 ./binary.cue:25:18 207 ./binary.cue:25:13 208 simplifyBinary.integer.err2.p2: incompatible integer bounds <=1 and >2: 209 ./binary.cue:26:19 210 ./binary.cue:26:13 211 simplifyBinary.integer.err3.p1: incompatible integer bounds <2 and >=2: 212 ./binary.cue:28:19 213 ./binary.cue:28:13 214 simplifyBinary.integer.err3.p2: incompatible integer bounds <2 and >=2: 215 ./binary.cue:29:18 216 ./binary.cue:29:13 217 simplifyBinary.integer.err3.p3: incompatible integer bounds <=2 and >2: 218 ./binary.cue:30:18 219 ./binary.cue:30:13 220 simplifyBinary.integer.err3.p4: incompatible integer bounds <=2 and >2: 221 ./binary.cue:31:19 222 ./binary.cue:31:13 223 simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2: 224 ./binary.cue:33:18 225 ./binary.cue:33:13 226 simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2: 227 ./binary.cue:34:18 228 ./binary.cue:34:13 229 simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b": 230 ./binarystring.cue:2:20 231 ./binarystring.cue:2:13 232 simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b": 233 ./binarystring.cue:3:20 234 ./binarystring.cue:3:13 235 simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b": 236 ./binarystring.cue:5:20 237 ./binarystring.cue:5:13 238 simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b": 239 ./binarystring.cue:6:21 240 ./binarystring.cue:6:13 241 simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b": 242 ./binarystring.cue:8:21 243 ./binarystring.cue:8:13 244 simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b": 245 ./binarystring.cue:9:20 246 ./binarystring.cue:9:13 247 simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b": 248 ./binarystring.cue:10:20 249 ./binarystring.cue:10:13 250 simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b": 251 ./binarystring.cue:11:21 252 ./binarystring.cue:11:13 253 simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b': 254 ./binarystring.cue:27:20 255 ./binarystring.cue:27:13 256 simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b': 257 ./binarystring.cue:28:20 258 ./binarystring.cue:28:13 259 simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b': 260 ./binarystring.cue:30:20 261 ./binarystring.cue:30:13 262 simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b': 263 ./binarystring.cue:31:21 264 ./binarystring.cue:31:13 265 simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b': 266 ./binarystring.cue:33:21 267 ./binarystring.cue:33:13 268 simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b': 269 ./binarystring.cue:34:20 270 ./binarystring.cue:34:13 271 simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b': 272 ./binarystring.cue:35:20 273 ./binarystring.cue:35:13 274 simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b': 275 ./binarystring.cue:36:21 276 ./binarystring.cue:36:13 277 simplifyExpr.e2: cannot use null for bound >: 278 ./in.cue:62:8 279 280 Result: 281 (_|_){ 282 // [eval] 283 simplifyBinary: (_|_){ 284 // [eval] 285 float: (_|_){ 286 // [eval] 287 err1: (_|_){ 288 // [eval] 289 p1: (_|_){ 290 // [eval] simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2: 291 // ./binary.cue:2:18 292 // ./binary.cue:2:13 293 } 294 p2: (_|_){ 295 // [eval] simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2: 296 // ./binary.cue:3:18 297 // ./binary.cue:3:13 298 } 299 } 300 err2: (_|_){ 301 // [eval] 302 p1: (_|_){ 303 // [eval] simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2: 304 // ./binary.cue:5:18 305 // ./binary.cue:5:13 306 } 307 p2: (_|_){ 308 // [eval] simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2: 309 // ./binary.cue:6:19 310 // ./binary.cue:6:13 311 } 312 } 313 err3: (_|_){ 314 // [eval] 315 p1: (_|_){ 316 // [eval] simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2: 317 // ./binary.cue:8:19 318 // ./binary.cue:8:13 319 } 320 p2: (_|_){ 321 // [eval] simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2: 322 // ./binary.cue:9:18 323 // ./binary.cue:9:13 324 } 325 p3: (_|_){ 326 // [eval] simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2: 327 // ./binary.cue:10:18 328 // ./binary.cue:10:13 329 } 330 p4: (_|_){ 331 // [eval] simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2: 332 // ./binary.cue:11:19 333 // ./binary.cue:11:13 334 } 335 } 336 ok1: (struct){ 337 p1: (number){ &(>1, <2) } 338 p2: (number){ &(>1, <2) } 339 } 340 ok2: (struct){ 341 p1: (number){ 2 } 342 p2: (number){ 2 } 343 } 344 } 345 integer: (_|_){ 346 // [eval] 347 err1: (_|_){ 348 // [eval] 349 p1: (_|_){ 350 // [eval] simplifyBinary.integer.err1.p1: incompatible integer bounds <1 and >2: 351 // ./binary.cue:22:18 352 // ./binary.cue:22:13 353 } 354 p2: (_|_){ 355 // [eval] simplifyBinary.integer.err1.p2: incompatible integer bounds <1 and >2: 356 // ./binary.cue:23:18 357 // ./binary.cue:23:13 358 } 359 } 360 err2: (_|_){ 361 // [eval] 362 p1: (_|_){ 363 // [eval] simplifyBinary.integer.err2.p1: incompatible integer bounds <=1 and >2: 364 // ./binary.cue:25:18 365 // ./binary.cue:25:13 366 } 367 p2: (_|_){ 368 // [eval] simplifyBinary.integer.err2.p2: incompatible integer bounds <=1 and >2: 369 // ./binary.cue:26:19 370 // ./binary.cue:26:13 371 } 372 } 373 err3: (_|_){ 374 // [eval] 375 p1: (_|_){ 376 // [eval] simplifyBinary.integer.err3.p1: incompatible integer bounds <2 and >=2: 377 // ./binary.cue:28:19 378 // ./binary.cue:28:13 379 } 380 p2: (_|_){ 381 // [eval] simplifyBinary.integer.err3.p2: incompatible integer bounds <2 and >=2: 382 // ./binary.cue:29:18 383 // ./binary.cue:29:13 384 } 385 p3: (_|_){ 386 // [eval] simplifyBinary.integer.err3.p3: incompatible integer bounds <=2 and >2: 387 // ./binary.cue:30:18 388 // ./binary.cue:30:13 389 } 390 p4: (_|_){ 391 // [eval] simplifyBinary.integer.err3.p4: incompatible integer bounds <=2 and >2: 392 // ./binary.cue:31:19 393 // ./binary.cue:31:13 394 } 395 } 396 err4: (_|_){ 397 // [eval] 398 p1: (_|_){ 399 // [eval] simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2: 400 // ./binary.cue:33:18 401 // ./binary.cue:33:13 402 } 403 p2: (_|_){ 404 // [eval] simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2: 405 // ./binary.cue:34:18 406 // ./binary.cue:34:13 407 } 408 } 409 ok1: (struct){ 410 p1: (int){ &(>=2, <=3, int) } 411 p2: (int){ &(>=2, <=3, int) } 412 } 413 ok2: (struct){ 414 p1: (int){ 2 } 415 p2: (int){ 2 } 416 } 417 ok3: (struct){ 418 p1: (int){ 2 } 419 p2: (int){ 3 } 420 p3: (int){ 2 } 421 p4: (int){ 3 } 422 } 423 } 424 strings: (_|_){ 425 // [eval] 426 err1: (_|_){ 427 // [eval] 428 p1: (_|_){ 429 // [eval] simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b": 430 // ./binarystring.cue:2:20 431 // ./binarystring.cue:2:13 432 } 433 p2: (_|_){ 434 // [eval] simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b": 435 // ./binarystring.cue:3:20 436 // ./binarystring.cue:3:13 437 } 438 } 439 err2: (_|_){ 440 // [eval] 441 p1: (_|_){ 442 // [eval] simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b": 443 // ./binarystring.cue:5:20 444 // ./binarystring.cue:5:13 445 } 446 p2: (_|_){ 447 // [eval] simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b": 448 // ./binarystring.cue:6:21 449 // ./binarystring.cue:6:13 450 } 451 } 452 err3: (_|_){ 453 // [eval] 454 p1: (_|_){ 455 // [eval] simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b": 456 // ./binarystring.cue:8:21 457 // ./binarystring.cue:8:13 458 } 459 p2: (_|_){ 460 // [eval] simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b": 461 // ./binarystring.cue:9:20 462 // ./binarystring.cue:9:13 463 } 464 p3: (_|_){ 465 // [eval] simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b": 466 // ./binarystring.cue:10:20 467 // ./binarystring.cue:10:13 468 } 469 p4: (_|_){ 470 // [eval] simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b": 471 // ./binarystring.cue:11:21 472 // ./binarystring.cue:11:13 473 } 474 } 475 ok1: (struct){ 476 p1: (string){ &(>"a", <"b") } 477 p2: (string){ &(>"a", <"b") } 478 } 479 ok2: (struct){ 480 p1: (string){ &(>"a", <="b") } 481 p2: (string){ &(>"a", <="b") } 482 p3: (string){ &(>="a", <"b") } 483 p4: (string){ &(>="a", <"b") } 484 } 485 ok3: (struct){ 486 p1: (string){ &(>="b", <="c") } 487 p2: (string){ &(>="b", <="c") } 488 } 489 ok4: (struct){ 490 p1: (string){ "b" } 491 } 492 } 493 byte: (_|_){ 494 // [eval] 495 err1: (_|_){ 496 // [eval] 497 p1: (_|_){ 498 // [eval] simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b': 499 // ./binarystring.cue:27:20 500 // ./binarystring.cue:27:13 501 } 502 p2: (_|_){ 503 // [eval] simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b': 504 // ./binarystring.cue:28:20 505 // ./binarystring.cue:28:13 506 } 507 } 508 err2: (_|_){ 509 // [eval] 510 p1: (_|_){ 511 // [eval] simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b': 512 // ./binarystring.cue:30:20 513 // ./binarystring.cue:30:13 514 } 515 p2: (_|_){ 516 // [eval] simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b': 517 // ./binarystring.cue:31:21 518 // ./binarystring.cue:31:13 519 } 520 } 521 err3: (_|_){ 522 // [eval] 523 p1: (_|_){ 524 // [eval] simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b': 525 // ./binarystring.cue:33:21 526 // ./binarystring.cue:33:13 527 } 528 p2: (_|_){ 529 // [eval] simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b': 530 // ./binarystring.cue:34:20 531 // ./binarystring.cue:34:13 532 } 533 p3: (_|_){ 534 // [eval] simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b': 535 // ./binarystring.cue:35:20 536 // ./binarystring.cue:35:13 537 } 538 p4: (_|_){ 539 // [eval] simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b': 540 // ./binarystring.cue:36:21 541 // ./binarystring.cue:36:13 542 } 543 } 544 ok1: (struct){ 545 p1: (bytes){ &(>'a', <'b') } 546 p2: (bytes){ &(>'a', <'b') } 547 } 548 ok2: (struct){ 549 p1: (bytes){ &(>'a', <='b') } 550 p2: (bytes){ &(>'a', <='b') } 551 p3: (bytes){ &(>='a', <'b') } 552 p4: (bytes){ &(>='a', <'b') } 553 } 554 ok3: (struct){ 555 p1: (bytes){ &(>='b', <='c') } 556 p2: (bytes){ &(>='b', <='c') } 557 } 558 ok4: (struct){ 559 p1: (bytes){ 'b' } 560 } 561 } 562 } 563 x0: (int){ 5 } 564 x1: (int){ 30 } 565 b0: (number){ &(>0, <5) } 566 b1: (int){ &(>0, <5, int) } 567 b2: (int){ &(<5.5, int) } 568 b3: (number){ <=5 } 569 b4: (number){ >20 } 570 b5: (number){ >=21 } 571 b6: (int){ 6 } 572 simplifyExpr: (_|_){ 573 // [eval] 574 less1: (number){ <3 } 575 less2: (number){ <3 } 576 less3: (number){ <3 } 577 less4: (number){ <=3 } 578 less5: (number){ number } 579 less6: (number){ number } 580 gtr1: (number){ >3 } 581 gtr2: (number){ >3 } 582 gtr3: (number){ >3 } 583 gtr4: (number){ >=3 } 584 gtr5: (number){ number } 585 gtr6: (number){ number } 586 lg1: (number){ number } 587 lg2: (number){ number } 588 lg3: (number){ number } 589 lg4: (number){ number } 590 gl1: (number){ number } 591 gl2: (number){ number } 592 gl3: (number){ number } 593 gl4: (number){ number } 594 ne1: (int){ 3 } 595 ne2: (number){ >=3 } 596 ne3: (number){ >3 } 597 ne4: (number){ <=3 } 598 ne5: (number){ <3 } 599 s: (string){ string } 600 n: (number){ number } 601 i: (int){ int } 602 f: (float){ float } 603 b: (bytes){ bytes } 604 basic1: (_|_){ 605 // [incomplete] simplifyExpr.basic1: non-concrete value i for bound <: 606 // ./in.cue:48:12 607 } 608 basic2: (_|_){ 609 // [incomplete] simplifyExpr.basic2: non-concrete value n for bound >: 610 // ./in.cue:49:12 611 } 612 basic3: (_|_){ 613 // [incomplete] simplifyExpr.basic3: non-concrete value s for bound >=: 614 // ./in.cue:50:13 615 } 616 basic4: (_|_){ 617 // [incomplete] simplifyExpr.basic4: non-concrete value f for bound <=: 618 // ./in.cue:51:13 619 } 620 basic5: (_|_){ 621 // [incomplete] simplifyExpr.basic5: non-concrete value b for bound <=: 622 // ./in.cue:52:13 623 } 624 bne1: (_|_){ 625 // [incomplete] simplifyExpr.bne1: non-concrete value s for bound !=: 626 // ./in.cue:55:11 627 } 628 bne2: (_|_){ 629 // [incomplete] simplifyExpr.bne2: non-concrete value n for bound !=: 630 // ./in.cue:56:11 631 } 632 bne3: (_|_){ 633 // [incomplete] simplifyExpr.bne3: non-concrete value n for bound !=: 634 // ./in.cue:57:11 635 } 636 bne4: (_|_){ 637 // [incomplete] simplifyExpr.bne4: non-concrete value i for bound !=: 638 // ./in.cue:58:11 639 } 640 bne5: (_|_){ 641 // [incomplete] simplifyExpr.bne5: non-concrete value b for bound !=: 642 // ./in.cue:59:11 643 } 644 e1: (_|_){ 645 // [incomplete] simplifyExpr.e1: non-concrete value =~"foo" for bound <: 646 // ./in.cue:61:8 647 } 648 e2: (_|_){ 649 // [eval] simplifyExpr.e2: cannot use null for bound >: 650 // ./in.cue:62:8 651 } 652 } 653 } 654 -- diff/-out/evalalpha<==>+out/eval -- 655 diff old new 656 --- old 657 +++ new 658 @@ -1,110 +1,106 @@ 659 Errors: 660 -simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b': 661 - ./binarystring.cue:27:13 662 - ./binarystring.cue:27:20 663 -simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b': 664 - ./binarystring.cue:28:13 665 - ./binarystring.cue:28:20 666 -simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b': 667 - ./binarystring.cue:30:13 668 - ./binarystring.cue:30:20 669 -simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b': 670 - ./binarystring.cue:31:13 671 - ./binarystring.cue:31:21 672 -simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b': 673 - ./binarystring.cue:33:13 674 - ./binarystring.cue:33:21 675 -simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b': 676 - ./binarystring.cue:34:13 677 - ./binarystring.cue:34:20 678 -simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b': 679 - ./binarystring.cue:35:13 680 - ./binarystring.cue:35:20 681 -simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b': 682 - ./binarystring.cue:36:13 683 - ./binarystring.cue:36:21 684 simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2: 685 - ./binary.cue:2:13 686 ./binary.cue:2:18 687 + ./binary.cue:2:13 688 simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2: 689 - ./binary.cue:3:13 690 ./binary.cue:3:18 691 + ./binary.cue:3:13 692 simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2: 693 - ./binary.cue:5:13 694 ./binary.cue:5:18 695 + ./binary.cue:5:13 696 simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2: 697 - ./binary.cue:6:13 698 ./binary.cue:6:19 699 + ./binary.cue:6:13 700 simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2: 701 - ./binary.cue:8:13 702 ./binary.cue:8:19 703 + ./binary.cue:8:13 704 simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2: 705 - ./binary.cue:9:13 706 ./binary.cue:9:18 707 + ./binary.cue:9:13 708 simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2: 709 - ./binary.cue:10:13 710 ./binary.cue:10:18 711 + ./binary.cue:10:13 712 simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2: 713 - ./binary.cue:11:13 714 ./binary.cue:11:19 715 -simplifyBinary.integer.err1.p1: incompatible number bounds <1 and >2: 716 - ./binary.cue:22:13 717 + ./binary.cue:11:13 718 +simplifyBinary.integer.err1.p1: incompatible integer bounds <1 and >2: 719 ./binary.cue:22:18 720 -simplifyBinary.integer.err1.p2: incompatible number bounds <1 and >2: 721 - ./binary.cue:23:13 722 + ./binary.cue:22:13 723 +simplifyBinary.integer.err1.p2: incompatible integer bounds <1 and >2: 724 ./binary.cue:23:18 725 -simplifyBinary.integer.err2.p1: incompatible number bounds <=1 and >2: 726 - ./binary.cue:25:13 727 + ./binary.cue:23:13 728 +simplifyBinary.integer.err2.p1: incompatible integer bounds <=1 and >2: 729 ./binary.cue:25:18 730 -simplifyBinary.integer.err2.p2: incompatible number bounds <=1 and >2: 731 - ./binary.cue:26:13 732 + ./binary.cue:25:13 733 +simplifyBinary.integer.err2.p2: incompatible integer bounds <=1 and >2: 734 ./binary.cue:26:19 735 -simplifyBinary.integer.err3.p1: incompatible number bounds <2 and >=2: 736 - ./binary.cue:28:13 737 + ./binary.cue:26:13 738 +simplifyBinary.integer.err3.p1: incompatible integer bounds <2 and >=2: 739 ./binary.cue:28:19 740 -simplifyBinary.integer.err3.p2: incompatible number bounds <2 and >=2: 741 - ./binary.cue:29:13 742 + ./binary.cue:28:13 743 +simplifyBinary.integer.err3.p2: incompatible integer bounds <2 and >=2: 744 ./binary.cue:29:18 745 -simplifyBinary.integer.err3.p3: incompatible number bounds <=2 and >2: 746 - ./binary.cue:30:13 747 + ./binary.cue:29:13 748 +simplifyBinary.integer.err3.p3: incompatible integer bounds <=2 and >2: 749 ./binary.cue:30:18 750 -simplifyBinary.integer.err3.p4: incompatible number bounds <=2 and >2: 751 - ./binary.cue:31:13 752 + ./binary.cue:30:13 753 +simplifyBinary.integer.err3.p4: incompatible integer bounds <=2 and >2: 754 ./binary.cue:31:19 755 + ./binary.cue:31:13 756 simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2: 757 - ./binary.cue:21:8 758 - ./binary.cue:21:13 759 - ./binary.cue:33:13 760 ./binary.cue:33:18 761 + ./binary.cue:33:13 762 simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2: 763 - ./binary.cue:21:8 764 - ./binary.cue:21:13 765 - ./binary.cue:34:13 766 ./binary.cue:34:18 767 + ./binary.cue:34:13 768 simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b": 769 - ./binarystring.cue:2:13 770 ./binarystring.cue:2:20 771 + ./binarystring.cue:2:13 772 simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b": 773 - ./binarystring.cue:3:13 774 ./binarystring.cue:3:20 775 + ./binarystring.cue:3:13 776 simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b": 777 - ./binarystring.cue:5:13 778 ./binarystring.cue:5:20 779 + ./binarystring.cue:5:13 780 simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b": 781 - ./binarystring.cue:6:13 782 ./binarystring.cue:6:21 783 + ./binarystring.cue:6:13 784 simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b": 785 - ./binarystring.cue:8:13 786 ./binarystring.cue:8:21 787 + ./binarystring.cue:8:13 788 simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b": 789 - ./binarystring.cue:9:13 790 ./binarystring.cue:9:20 791 + ./binarystring.cue:9:13 792 simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b": 793 - ./binarystring.cue:10:13 794 ./binarystring.cue:10:20 795 + ./binarystring.cue:10:13 796 simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b": 797 - ./binarystring.cue:11:13 798 ./binarystring.cue:11:21 799 + ./binarystring.cue:11:13 800 +simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b': 801 + ./binarystring.cue:27:20 802 + ./binarystring.cue:27:13 803 +simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b': 804 + ./binarystring.cue:28:20 805 + ./binarystring.cue:28:13 806 +simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b': 807 + ./binarystring.cue:30:20 808 + ./binarystring.cue:30:13 809 +simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b': 810 + ./binarystring.cue:31:21 811 + ./binarystring.cue:31:13 812 +simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b': 813 + ./binarystring.cue:33:21 814 + ./binarystring.cue:33:13 815 +simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b': 816 + ./binarystring.cue:34:20 817 + ./binarystring.cue:34:13 818 +simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b': 819 + ./binarystring.cue:35:20 820 + ./binarystring.cue:35:13 821 +simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b': 822 + ./binarystring.cue:36:21 823 + ./binarystring.cue:36:13 824 simplifyExpr.e2: cannot use null for bound >: 825 ./in.cue:62:8 826 827 @@ -119,13 +115,13 @@ 828 // [eval] 829 p1: (_|_){ 830 // [eval] simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2: 831 - // ./binary.cue:2:13 832 // ./binary.cue:2:18 833 + // ./binary.cue:2:13 834 } 835 p2: (_|_){ 836 // [eval] simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2: 837 - // ./binary.cue:3:13 838 // ./binary.cue:3:18 839 + // ./binary.cue:3:13 840 } 841 } 842 err2: (_|_){ 843 @@ -132,13 +128,13 @@ 844 // [eval] 845 p1: (_|_){ 846 // [eval] simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2: 847 - // ./binary.cue:5:13 848 // ./binary.cue:5:18 849 + // ./binary.cue:5:13 850 } 851 p2: (_|_){ 852 // [eval] simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2: 853 - // ./binary.cue:6:13 854 // ./binary.cue:6:19 855 + // ./binary.cue:6:13 856 } 857 } 858 err3: (_|_){ 859 @@ -145,23 +141,23 @@ 860 // [eval] 861 p1: (_|_){ 862 // [eval] simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2: 863 - // ./binary.cue:8:13 864 // ./binary.cue:8:19 865 + // ./binary.cue:8:13 866 } 867 p2: (_|_){ 868 // [eval] simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2: 869 - // ./binary.cue:9:13 870 // ./binary.cue:9:18 871 + // ./binary.cue:9:13 872 } 873 p3: (_|_){ 874 // [eval] simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2: 875 - // ./binary.cue:10:13 876 // ./binary.cue:10:18 877 + // ./binary.cue:10:13 878 } 879 p4: (_|_){ 880 // [eval] simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2: 881 - // ./binary.cue:11:13 882 // ./binary.cue:11:19 883 + // ./binary.cue:11:13 884 } 885 } 886 ok1: (struct){ 887 @@ -178,50 +174,50 @@ 888 err1: (_|_){ 889 // [eval] 890 p1: (_|_){ 891 - // [eval] simplifyBinary.integer.err1.p1: incompatible number bounds <1 and >2: 892 - // ./binary.cue:22:13 893 + // [eval] simplifyBinary.integer.err1.p1: incompatible integer bounds <1 and >2: 894 // ./binary.cue:22:18 895 - } 896 - p2: (_|_){ 897 - // [eval] simplifyBinary.integer.err1.p2: incompatible number bounds <1 and >2: 898 - // ./binary.cue:23:13 899 + // ./binary.cue:22:13 900 + } 901 + p2: (_|_){ 902 + // [eval] simplifyBinary.integer.err1.p2: incompatible integer bounds <1 and >2: 903 // ./binary.cue:23:18 904 - } 905 - } 906 - err2: (_|_){ 907 - // [eval] 908 - p1: (_|_){ 909 - // [eval] simplifyBinary.integer.err2.p1: incompatible number bounds <=1 and >2: 910 - // ./binary.cue:25:13 911 + // ./binary.cue:23:13 912 + } 913 + } 914 + err2: (_|_){ 915 + // [eval] 916 + p1: (_|_){ 917 + // [eval] simplifyBinary.integer.err2.p1: incompatible integer bounds <=1 and >2: 918 // ./binary.cue:25:18 919 - } 920 - p2: (_|_){ 921 - // [eval] simplifyBinary.integer.err2.p2: incompatible number bounds <=1 and >2: 922 - // ./binary.cue:26:13 923 + // ./binary.cue:25:13 924 + } 925 + p2: (_|_){ 926 + // [eval] simplifyBinary.integer.err2.p2: incompatible integer bounds <=1 and >2: 927 // ./binary.cue:26:19 928 - } 929 - } 930 - err3: (_|_){ 931 - // [eval] 932 - p1: (_|_){ 933 - // [eval] simplifyBinary.integer.err3.p1: incompatible number bounds <2 and >=2: 934 - // ./binary.cue:28:13 935 + // ./binary.cue:26:13 936 + } 937 + } 938 + err3: (_|_){ 939 + // [eval] 940 + p1: (_|_){ 941 + // [eval] simplifyBinary.integer.err3.p1: incompatible integer bounds <2 and >=2: 942 // ./binary.cue:28:19 943 - } 944 - p2: (_|_){ 945 - // [eval] simplifyBinary.integer.err3.p2: incompatible number bounds <2 and >=2: 946 - // ./binary.cue:29:13 947 + // ./binary.cue:28:13 948 + } 949 + p2: (_|_){ 950 + // [eval] simplifyBinary.integer.err3.p2: incompatible integer bounds <2 and >=2: 951 // ./binary.cue:29:18 952 - } 953 - p3: (_|_){ 954 - // [eval] simplifyBinary.integer.err3.p3: incompatible number bounds <=2 and >2: 955 - // ./binary.cue:30:13 956 + // ./binary.cue:29:13 957 + } 958 + p3: (_|_){ 959 + // [eval] simplifyBinary.integer.err3.p3: incompatible integer bounds <=2 and >2: 960 // ./binary.cue:30:18 961 - } 962 - p4: (_|_){ 963 - // [eval] simplifyBinary.integer.err3.p4: incompatible number bounds <=2 and >2: 964 - // ./binary.cue:31:13 965 + // ./binary.cue:30:13 966 + } 967 + p4: (_|_){ 968 + // [eval] simplifyBinary.integer.err3.p4: incompatible integer bounds <=2 and >2: 969 // ./binary.cue:31:19 970 + // ./binary.cue:31:13 971 } 972 } 973 err4: (_|_){ 974 @@ -228,17 +224,13 @@ 975 // [eval] 976 p1: (_|_){ 977 // [eval] simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2: 978 - // ./binary.cue:21:8 979 - // ./binary.cue:21:13 980 - // ./binary.cue:33:13 981 // ./binary.cue:33:18 982 + // ./binary.cue:33:13 983 } 984 p2: (_|_){ 985 // [eval] simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2: 986 - // ./binary.cue:21:8 987 - // ./binary.cue:21:13 988 - // ./binary.cue:34:13 989 // ./binary.cue:34:18 990 + // ./binary.cue:34:13 991 } 992 } 993 ok1: (struct){ 994 @@ -246,8 +238,8 @@ 995 p2: (int){ &(>=2, <=3, int) } 996 } 997 ok2: (struct){ 998 - p1: (number){ 2 } 999 - p2: (number){ 2 } 1000 + p1: (int){ 2 } 1001 + p2: (int){ 2 } 1002 } 1003 ok3: (struct){ 1004 p1: (int){ 2 } 1005 @@ -262,13 +254,13 @@ 1006 // [eval] 1007 p1: (_|_){ 1008 // [eval] simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b": 1009 - // ./binarystring.cue:2:13 1010 // ./binarystring.cue:2:20 1011 + // ./binarystring.cue:2:13 1012 } 1013 p2: (_|_){ 1014 // [eval] simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b": 1015 - // ./binarystring.cue:3:13 1016 // ./binarystring.cue:3:20 1017 + // ./binarystring.cue:3:13 1018 } 1019 } 1020 err2: (_|_){ 1021 @@ -275,13 +267,13 @@ 1022 // [eval] 1023 p1: (_|_){ 1024 // [eval] simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b": 1025 - // ./binarystring.cue:5:13 1026 // ./binarystring.cue:5:20 1027 + // ./binarystring.cue:5:13 1028 } 1029 p2: (_|_){ 1030 // [eval] simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b": 1031 - // ./binarystring.cue:6:13 1032 // ./binarystring.cue:6:21 1033 + // ./binarystring.cue:6:13 1034 } 1035 } 1036 err3: (_|_){ 1037 @@ -288,23 +280,23 @@ 1038 // [eval] 1039 p1: (_|_){ 1040 // [eval] simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b": 1041 - // ./binarystring.cue:8:13 1042 // ./binarystring.cue:8:21 1043 + // ./binarystring.cue:8:13 1044 } 1045 p2: (_|_){ 1046 // [eval] simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b": 1047 - // ./binarystring.cue:9:13 1048 // ./binarystring.cue:9:20 1049 + // ./binarystring.cue:9:13 1050 } 1051 p3: (_|_){ 1052 // [eval] simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b": 1053 - // ./binarystring.cue:10:13 1054 // ./binarystring.cue:10:20 1055 + // ./binarystring.cue:10:13 1056 } 1057 p4: (_|_){ 1058 // [eval] simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b": 1059 - // ./binarystring.cue:11:13 1060 // ./binarystring.cue:11:21 1061 + // ./binarystring.cue:11:13 1062 } 1063 } 1064 ok1: (struct){ 1065 @@ -331,13 +323,13 @@ 1066 // [eval] 1067 p1: (_|_){ 1068 // [eval] simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b': 1069 - // ./binarystring.cue:27:13 1070 // ./binarystring.cue:27:20 1071 + // ./binarystring.cue:27:13 1072 } 1073 p2: (_|_){ 1074 // [eval] simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b': 1075 - // ./binarystring.cue:28:13 1076 // ./binarystring.cue:28:20 1077 + // ./binarystring.cue:28:13 1078 } 1079 } 1080 err2: (_|_){ 1081 @@ -344,13 +336,13 @@ 1082 // [eval] 1083 p1: (_|_){ 1084 // [eval] simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b': 1085 - // ./binarystring.cue:30:13 1086 // ./binarystring.cue:30:20 1087 + // ./binarystring.cue:30:13 1088 } 1089 p2: (_|_){ 1090 // [eval] simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b': 1091 - // ./binarystring.cue:31:13 1092 // ./binarystring.cue:31:21 1093 + // ./binarystring.cue:31:13 1094 } 1095 } 1096 err3: (_|_){ 1097 @@ -357,23 +349,23 @@ 1098 // [eval] 1099 p1: (_|_){ 1100 // [eval] simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b': 1101 - // ./binarystring.cue:33:13 1102 // ./binarystring.cue:33:21 1103 + // ./binarystring.cue:33:13 1104 } 1105 p2: (_|_){ 1106 // [eval] simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b': 1107 - // ./binarystring.cue:34:13 1108 // ./binarystring.cue:34:20 1109 + // ./binarystring.cue:34:13 1110 } 1111 p3: (_|_){ 1112 // [eval] simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b': 1113 - // ./binarystring.cue:35:13 1114 // ./binarystring.cue:35:20 1115 + // ./binarystring.cue:35:13 1116 } 1117 p4: (_|_){ 1118 // [eval] simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b': 1119 - // ./binarystring.cue:36:13 1120 // ./binarystring.cue:36:21 1121 + // ./binarystring.cue:36:13 1122 } 1123 } 1124 ok1: (struct){ 1125 -- diff/explanation -- 1126 simplifyBinary.integer.ok2.*: v3 indicates correct type. 1127 -- out/eval -- 1128 Errors: 1129 simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b': 1130 ./binarystring.cue:27:13 1131 ./binarystring.cue:27:20 1132 simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b': 1133 ./binarystring.cue:28:13 1134 ./binarystring.cue:28:20 1135 simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b': 1136 ./binarystring.cue:30:13 1137 ./binarystring.cue:30:20 1138 simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b': 1139 ./binarystring.cue:31:13 1140 ./binarystring.cue:31:21 1141 simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b': 1142 ./binarystring.cue:33:13 1143 ./binarystring.cue:33:21 1144 simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b': 1145 ./binarystring.cue:34:13 1146 ./binarystring.cue:34:20 1147 simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b': 1148 ./binarystring.cue:35:13 1149 ./binarystring.cue:35:20 1150 simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b': 1151 ./binarystring.cue:36:13 1152 ./binarystring.cue:36:21 1153 simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2: 1154 ./binary.cue:2:13 1155 ./binary.cue:2:18 1156 simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2: 1157 ./binary.cue:3:13 1158 ./binary.cue:3:18 1159 simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2: 1160 ./binary.cue:5:13 1161 ./binary.cue:5:18 1162 simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2: 1163 ./binary.cue:6:13 1164 ./binary.cue:6:19 1165 simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2: 1166 ./binary.cue:8:13 1167 ./binary.cue:8:19 1168 simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2: 1169 ./binary.cue:9:13 1170 ./binary.cue:9:18 1171 simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2: 1172 ./binary.cue:10:13 1173 ./binary.cue:10:18 1174 simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2: 1175 ./binary.cue:11:13 1176 ./binary.cue:11:19 1177 simplifyBinary.integer.err1.p1: incompatible number bounds <1 and >2: 1178 ./binary.cue:22:13 1179 ./binary.cue:22:18 1180 simplifyBinary.integer.err1.p2: incompatible number bounds <1 and >2: 1181 ./binary.cue:23:13 1182 ./binary.cue:23:18 1183 simplifyBinary.integer.err2.p1: incompatible number bounds <=1 and >2: 1184 ./binary.cue:25:13 1185 ./binary.cue:25:18 1186 simplifyBinary.integer.err2.p2: incompatible number bounds <=1 and >2: 1187 ./binary.cue:26:13 1188 ./binary.cue:26:19 1189 simplifyBinary.integer.err3.p1: incompatible number bounds <2 and >=2: 1190 ./binary.cue:28:13 1191 ./binary.cue:28:19 1192 simplifyBinary.integer.err3.p2: incompatible number bounds <2 and >=2: 1193 ./binary.cue:29:13 1194 ./binary.cue:29:18 1195 simplifyBinary.integer.err3.p3: incompatible number bounds <=2 and >2: 1196 ./binary.cue:30:13 1197 ./binary.cue:30:18 1198 simplifyBinary.integer.err3.p4: incompatible number bounds <=2 and >2: 1199 ./binary.cue:31:13 1200 ./binary.cue:31:19 1201 simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2: 1202 ./binary.cue:21:8 1203 ./binary.cue:21:13 1204 ./binary.cue:33:13 1205 ./binary.cue:33:18 1206 simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2: 1207 ./binary.cue:21:8 1208 ./binary.cue:21:13 1209 ./binary.cue:34:13 1210 ./binary.cue:34:18 1211 simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b": 1212 ./binarystring.cue:2:13 1213 ./binarystring.cue:2:20 1214 simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b": 1215 ./binarystring.cue:3:13 1216 ./binarystring.cue:3:20 1217 simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b": 1218 ./binarystring.cue:5:13 1219 ./binarystring.cue:5:20 1220 simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b": 1221 ./binarystring.cue:6:13 1222 ./binarystring.cue:6:21 1223 simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b": 1224 ./binarystring.cue:8:13 1225 ./binarystring.cue:8:21 1226 simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b": 1227 ./binarystring.cue:9:13 1228 ./binarystring.cue:9:20 1229 simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b": 1230 ./binarystring.cue:10:13 1231 ./binarystring.cue:10:20 1232 simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b": 1233 ./binarystring.cue:11:13 1234 ./binarystring.cue:11:21 1235 simplifyExpr.e2: cannot use null for bound >: 1236 ./in.cue:62:8 1237 1238 Result: 1239 (_|_){ 1240 // [eval] 1241 simplifyBinary: (_|_){ 1242 // [eval] 1243 float: (_|_){ 1244 // [eval] 1245 err1: (_|_){ 1246 // [eval] 1247 p1: (_|_){ 1248 // [eval] simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2: 1249 // ./binary.cue:2:13 1250 // ./binary.cue:2:18 1251 } 1252 p2: (_|_){ 1253 // [eval] simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2: 1254 // ./binary.cue:3:13 1255 // ./binary.cue:3:18 1256 } 1257 } 1258 err2: (_|_){ 1259 // [eval] 1260 p1: (_|_){ 1261 // [eval] simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2: 1262 // ./binary.cue:5:13 1263 // ./binary.cue:5:18 1264 } 1265 p2: (_|_){ 1266 // [eval] simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2: 1267 // ./binary.cue:6:13 1268 // ./binary.cue:6:19 1269 } 1270 } 1271 err3: (_|_){ 1272 // [eval] 1273 p1: (_|_){ 1274 // [eval] simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2: 1275 // ./binary.cue:8:13 1276 // ./binary.cue:8:19 1277 } 1278 p2: (_|_){ 1279 // [eval] simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2: 1280 // ./binary.cue:9:13 1281 // ./binary.cue:9:18 1282 } 1283 p3: (_|_){ 1284 // [eval] simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2: 1285 // ./binary.cue:10:13 1286 // ./binary.cue:10:18 1287 } 1288 p4: (_|_){ 1289 // [eval] simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2: 1290 // ./binary.cue:11:13 1291 // ./binary.cue:11:19 1292 } 1293 } 1294 ok1: (struct){ 1295 p1: (number){ &(>1, <2) } 1296 p2: (number){ &(>1, <2) } 1297 } 1298 ok2: (struct){ 1299 p1: (number){ 2 } 1300 p2: (number){ 2 } 1301 } 1302 } 1303 integer: (_|_){ 1304 // [eval] 1305 err1: (_|_){ 1306 // [eval] 1307 p1: (_|_){ 1308 // [eval] simplifyBinary.integer.err1.p1: incompatible number bounds <1 and >2: 1309 // ./binary.cue:22:13 1310 // ./binary.cue:22:18 1311 } 1312 p2: (_|_){ 1313 // [eval] simplifyBinary.integer.err1.p2: incompatible number bounds <1 and >2: 1314 // ./binary.cue:23:13 1315 // ./binary.cue:23:18 1316 } 1317 } 1318 err2: (_|_){ 1319 // [eval] 1320 p1: (_|_){ 1321 // [eval] simplifyBinary.integer.err2.p1: incompatible number bounds <=1 and >2: 1322 // ./binary.cue:25:13 1323 // ./binary.cue:25:18 1324 } 1325 p2: (_|_){ 1326 // [eval] simplifyBinary.integer.err2.p2: incompatible number bounds <=1 and >2: 1327 // ./binary.cue:26:13 1328 // ./binary.cue:26:19 1329 } 1330 } 1331 err3: (_|_){ 1332 // [eval] 1333 p1: (_|_){ 1334 // [eval] simplifyBinary.integer.err3.p1: incompatible number bounds <2 and >=2: 1335 // ./binary.cue:28:13 1336 // ./binary.cue:28:19 1337 } 1338 p2: (_|_){ 1339 // [eval] simplifyBinary.integer.err3.p2: incompatible number bounds <2 and >=2: 1340 // ./binary.cue:29:13 1341 // ./binary.cue:29:18 1342 } 1343 p3: (_|_){ 1344 // [eval] simplifyBinary.integer.err3.p3: incompatible number bounds <=2 and >2: 1345 // ./binary.cue:30:13 1346 // ./binary.cue:30:18 1347 } 1348 p4: (_|_){ 1349 // [eval] simplifyBinary.integer.err3.p4: incompatible number bounds <=2 and >2: 1350 // ./binary.cue:31:13 1351 // ./binary.cue:31:19 1352 } 1353 } 1354 err4: (_|_){ 1355 // [eval] 1356 p1: (_|_){ 1357 // [eval] simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2: 1358 // ./binary.cue:21:8 1359 // ./binary.cue:21:13 1360 // ./binary.cue:33:13 1361 // ./binary.cue:33:18 1362 } 1363 p2: (_|_){ 1364 // [eval] simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2: 1365 // ./binary.cue:21:8 1366 // ./binary.cue:21:13 1367 // ./binary.cue:34:13 1368 // ./binary.cue:34:18 1369 } 1370 } 1371 ok1: (struct){ 1372 p1: (int){ &(>=2, <=3, int) } 1373 p2: (int){ &(>=2, <=3, int) } 1374 } 1375 ok2: (struct){ 1376 p1: (number){ 2 } 1377 p2: (number){ 2 } 1378 } 1379 ok3: (struct){ 1380 p1: (int){ 2 } 1381 p2: (int){ 3 } 1382 p3: (int){ 2 } 1383 p4: (int){ 3 } 1384 } 1385 } 1386 strings: (_|_){ 1387 // [eval] 1388 err1: (_|_){ 1389 // [eval] 1390 p1: (_|_){ 1391 // [eval] simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b": 1392 // ./binarystring.cue:2:13 1393 // ./binarystring.cue:2:20 1394 } 1395 p2: (_|_){ 1396 // [eval] simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b": 1397 // ./binarystring.cue:3:13 1398 // ./binarystring.cue:3:20 1399 } 1400 } 1401 err2: (_|_){ 1402 // [eval] 1403 p1: (_|_){ 1404 // [eval] simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b": 1405 // ./binarystring.cue:5:13 1406 // ./binarystring.cue:5:20 1407 } 1408 p2: (_|_){ 1409 // [eval] simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b": 1410 // ./binarystring.cue:6:13 1411 // ./binarystring.cue:6:21 1412 } 1413 } 1414 err3: (_|_){ 1415 // [eval] 1416 p1: (_|_){ 1417 // [eval] simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b": 1418 // ./binarystring.cue:8:13 1419 // ./binarystring.cue:8:21 1420 } 1421 p2: (_|_){ 1422 // [eval] simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b": 1423 // ./binarystring.cue:9:13 1424 // ./binarystring.cue:9:20 1425 } 1426 p3: (_|_){ 1427 // [eval] simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b": 1428 // ./binarystring.cue:10:13 1429 // ./binarystring.cue:10:20 1430 } 1431 p4: (_|_){ 1432 // [eval] simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b": 1433 // ./binarystring.cue:11:13 1434 // ./binarystring.cue:11:21 1435 } 1436 } 1437 ok1: (struct){ 1438 p1: (string){ &(>"a", <"b") } 1439 p2: (string){ &(>"a", <"b") } 1440 } 1441 ok2: (struct){ 1442 p1: (string){ &(>"a", <="b") } 1443 p2: (string){ &(>"a", <="b") } 1444 p3: (string){ &(>="a", <"b") } 1445 p4: (string){ &(>="a", <"b") } 1446 } 1447 ok3: (struct){ 1448 p1: (string){ &(>="b", <="c") } 1449 p2: (string){ &(>="b", <="c") } 1450 } 1451 ok4: (struct){ 1452 p1: (string){ "b" } 1453 } 1454 } 1455 byte: (_|_){ 1456 // [eval] 1457 err1: (_|_){ 1458 // [eval] 1459 p1: (_|_){ 1460 // [eval] simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b': 1461 // ./binarystring.cue:27:13 1462 // ./binarystring.cue:27:20 1463 } 1464 p2: (_|_){ 1465 // [eval] simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b': 1466 // ./binarystring.cue:28:13 1467 // ./binarystring.cue:28:20 1468 } 1469 } 1470 err2: (_|_){ 1471 // [eval] 1472 p1: (_|_){ 1473 // [eval] simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b': 1474 // ./binarystring.cue:30:13 1475 // ./binarystring.cue:30:20 1476 } 1477 p2: (_|_){ 1478 // [eval] simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b': 1479 // ./binarystring.cue:31:13 1480 // ./binarystring.cue:31:21 1481 } 1482 } 1483 err3: (_|_){ 1484 // [eval] 1485 p1: (_|_){ 1486 // [eval] simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b': 1487 // ./binarystring.cue:33:13 1488 // ./binarystring.cue:33:21 1489 } 1490 p2: (_|_){ 1491 // [eval] simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b': 1492 // ./binarystring.cue:34:13 1493 // ./binarystring.cue:34:20 1494 } 1495 p3: (_|_){ 1496 // [eval] simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b': 1497 // ./binarystring.cue:35:13 1498 // ./binarystring.cue:35:20 1499 } 1500 p4: (_|_){ 1501 // [eval] simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b': 1502 // ./binarystring.cue:36:13 1503 // ./binarystring.cue:36:21 1504 } 1505 } 1506 ok1: (struct){ 1507 p1: (bytes){ &(>'a', <'b') } 1508 p2: (bytes){ &(>'a', <'b') } 1509 } 1510 ok2: (struct){ 1511 p1: (bytes){ &(>'a', <='b') } 1512 p2: (bytes){ &(>'a', <='b') } 1513 p3: (bytes){ &(>='a', <'b') } 1514 p4: (bytes){ &(>='a', <'b') } 1515 } 1516 ok3: (struct){ 1517 p1: (bytes){ &(>='b', <='c') } 1518 p2: (bytes){ &(>='b', <='c') } 1519 } 1520 ok4: (struct){ 1521 p1: (bytes){ 'b' } 1522 } 1523 } 1524 } 1525 x0: (int){ 5 } 1526 x1: (int){ 30 } 1527 b0: (number){ &(>0, <5) } 1528 b1: (int){ &(>0, <5, int) } 1529 b2: (int){ &(<5.5, int) } 1530 b3: (number){ <=5 } 1531 b4: (number){ >20 } 1532 b5: (number){ >=21 } 1533 b6: (int){ 6 } 1534 simplifyExpr: (_|_){ 1535 // [eval] 1536 less1: (number){ <3 } 1537 less2: (number){ <3 } 1538 less3: (number){ <3 } 1539 less4: (number){ <=3 } 1540 less5: (number){ number } 1541 less6: (number){ number } 1542 gtr1: (number){ >3 } 1543 gtr2: (number){ >3 } 1544 gtr3: (number){ >3 } 1545 gtr4: (number){ >=3 } 1546 gtr5: (number){ number } 1547 gtr6: (number){ number } 1548 lg1: (number){ number } 1549 lg2: (number){ number } 1550 lg3: (number){ number } 1551 lg4: (number){ number } 1552 gl1: (number){ number } 1553 gl2: (number){ number } 1554 gl3: (number){ number } 1555 gl4: (number){ number } 1556 ne1: (int){ 3 } 1557 ne2: (number){ >=3 } 1558 ne3: (number){ >3 } 1559 ne4: (number){ <=3 } 1560 ne5: (number){ <3 } 1561 s: (string){ string } 1562 n: (number){ number } 1563 i: (int){ int } 1564 f: (float){ float } 1565 b: (bytes){ bytes } 1566 basic1: (_|_){ 1567 // [incomplete] simplifyExpr.basic1: non-concrete value i for bound <: 1568 // ./in.cue:48:12 1569 } 1570 basic2: (_|_){ 1571 // [incomplete] simplifyExpr.basic2: non-concrete value n for bound >: 1572 // ./in.cue:49:12 1573 } 1574 basic3: (_|_){ 1575 // [incomplete] simplifyExpr.basic3: non-concrete value s for bound >=: 1576 // ./in.cue:50:13 1577 } 1578 basic4: (_|_){ 1579 // [incomplete] simplifyExpr.basic4: non-concrete value f for bound <=: 1580 // ./in.cue:51:13 1581 } 1582 basic5: (_|_){ 1583 // [incomplete] simplifyExpr.basic5: non-concrete value b for bound <=: 1584 // ./in.cue:52:13 1585 } 1586 bne1: (_|_){ 1587 // [incomplete] simplifyExpr.bne1: non-concrete value s for bound !=: 1588 // ./in.cue:55:11 1589 } 1590 bne2: (_|_){ 1591 // [incomplete] simplifyExpr.bne2: non-concrete value n for bound !=: 1592 // ./in.cue:56:11 1593 } 1594 bne3: (_|_){ 1595 // [incomplete] simplifyExpr.bne3: non-concrete value n for bound !=: 1596 // ./in.cue:57:11 1597 } 1598 bne4: (_|_){ 1599 // [incomplete] simplifyExpr.bne4: non-concrete value i for bound !=: 1600 // ./in.cue:58:11 1601 } 1602 bne5: (_|_){ 1603 // [incomplete] simplifyExpr.bne5: non-concrete value b for bound !=: 1604 // ./in.cue:59:11 1605 } 1606 e1: (_|_){ 1607 // [incomplete] simplifyExpr.e1: non-concrete value =~"foo" for bound <: 1608 // ./in.cue:61:8 1609 } 1610 e2: (_|_){ 1611 // [eval] simplifyExpr.e2: cannot use null for bound >: 1612 // ./in.cue:62:8 1613 } 1614 } 1615 } 1616 -- out/compile -- 1617 --- binary.cue 1618 { 1619 simplifyBinary: { 1620 float: { 1621 err1: { 1622 p1: (<1 & >2) 1623 } 1624 err1: { 1625 p2: (>2 & <1) 1626 } 1627 err2: { 1628 p1: (>2 & <=1) 1629 } 1630 err2: { 1631 p2: (<=1 & >2) 1632 } 1633 err3: { 1634 p1: (>=2 & <2) 1635 } 1636 err3: { 1637 p2: (<2 & >=2) 1638 } 1639 err3: { 1640 p3: (>2 & <=2) 1641 } 1642 err3: { 1643 p4: (<=2 & >2) 1644 } 1645 ok1: { 1646 p1: (>1 & <2) 1647 } 1648 ok1: { 1649 p2: (<2 & >1) 1650 } 1651 ok2: { 1652 p1: (>=2 & <=2) 1653 } 1654 ok2: { 1655 p2: (<=2 & >=2) 1656 } 1657 } 1658 } 1659 simplifyBinary: { 1660 integer: { 1661 [_]: { 1662 [_]: int 1663 } 1664 err1: { 1665 p1: (<1 & >2) 1666 } 1667 err1: { 1668 p2: (>2 & <1) 1669 } 1670 err2: { 1671 p1: (>2 & <=1) 1672 } 1673 err2: { 1674 p2: (<=1 & >2) 1675 } 1676 err3: { 1677 p1: (>=2 & <2) 1678 } 1679 err3: { 1680 p2: (<2 & >=2) 1681 } 1682 err3: { 1683 p3: (>2 & <=2) 1684 } 1685 err3: { 1686 p4: (<=2 & >2) 1687 } 1688 err4: { 1689 p1: (>1 & <2) 1690 } 1691 err4: { 1692 p2: (<2 & >1) 1693 } 1694 ok1: { 1695 p1: (>=2 & <=3) 1696 } 1697 ok1: { 1698 p2: (<=3 & >=2) 1699 } 1700 ok2: { 1701 p1: (>=2 & <=2) 1702 } 1703 ok2: { 1704 p2: (<=2 & >=2) 1705 } 1706 ok3: { 1707 p1: (>=2 & <3) 1708 } 1709 ok3: { 1710 p2: (>2 & <=3) 1711 } 1712 ok3: { 1713 p3: (<3 & >=2) 1714 } 1715 ok3: { 1716 p4: (<=3 & >2) 1717 } 1718 } 1719 } 1720 } 1721 --- binarystring.cue 1722 { 1723 simplifyBinary: { 1724 strings: { 1725 err1: { 1726 p1: (<"a" & >"b") 1727 } 1728 err1: { 1729 p2: (>"b" & <"a") 1730 } 1731 err2: { 1732 p1: (>"b" & <="a") 1733 } 1734 err2: { 1735 p2: (<="a" & >"b") 1736 } 1737 err3: { 1738 p1: (>="b" & <"b") 1739 } 1740 err3: { 1741 p2: (<"b" & >="b") 1742 } 1743 err3: { 1744 p3: (>"b" & <="b") 1745 } 1746 err3: { 1747 p4: (<="b" & >"b") 1748 } 1749 ok1: { 1750 p1: (>"a" & <"b") 1751 } 1752 ok1: { 1753 p2: (<"b" & >"a") 1754 } 1755 ok2: { 1756 p1: (>"a" & <="b") 1757 } 1758 ok2: { 1759 p2: (<="b" & >"a") 1760 } 1761 ok2: { 1762 p3: (>="a" & <"b") 1763 } 1764 ok2: { 1765 p4: (<"b" & >="a") 1766 } 1767 ok3: { 1768 p1: (>="b" & <="c") 1769 } 1770 ok3: { 1771 p2: (<="c" & >="b") 1772 } 1773 ok4: { 1774 p1: (>="b" & <="b") 1775 } 1776 } 1777 } 1778 simplifyBinary: { 1779 byte: { 1780 err1: { 1781 p1: (<'a' & >'b') 1782 } 1783 err1: { 1784 p2: (>'b' & <'a') 1785 } 1786 err2: { 1787 p1: (>'b' & <='a') 1788 } 1789 err2: { 1790 p2: (<='a' & >'b') 1791 } 1792 err3: { 1793 p1: (>='b' & <'b') 1794 } 1795 err3: { 1796 p2: (<'b' & >='b') 1797 } 1798 err3: { 1799 p3: (>'b' & <='b') 1800 } 1801 err3: { 1802 p4: (<='b' & >'b') 1803 } 1804 ok1: { 1805 p1: (>'a' & <'b') 1806 } 1807 ok1: { 1808 p2: (<'b' & >'a') 1809 } 1810 ok2: { 1811 p1: (>'a' & <='b') 1812 } 1813 ok2: { 1814 p2: (<='b' & >'a') 1815 } 1816 ok2: { 1817 p3: (>='a' & <'b') 1818 } 1819 ok2: { 1820 p4: (<'b' & >='a') 1821 } 1822 ok3: { 1823 p1: (>='b' & <='c') 1824 } 1825 ok3: { 1826 p2: (<='c' & >='b') 1827 } 1828 ok4: { 1829 p1: (>='b' & <='b') 1830 } 1831 } 1832 } 1833 } 1834 --- in.cue 1835 { 1836 x0: 5 1837 x1: (〈0;b5〉 & 30) 1838 b0: (<〈0;x0〉 & >0) 1839 b1: (〈0;b0〉 & int) 1840 b2: (int & <5.5) 1841 b3: (<10 & <=5) 1842 b4: (>=20 & >20) 1843 b5: (>=21 & >20) 1844 b6: ((int & >5) & <=6) 1845 simplifyExpr: { 1846 less1: <<3 1847 less2: <<=3 1848 less3: <=<3 1849 less4: <=<=3 1850 less5: <!=3 1851 less6: <=!=3 1852 gtr1: >>3 1853 gtr2: >>=3 1854 gtr3: >=>3 1855 gtr4: >=>=3 1856 gtr5: >!=3 1857 gtr6: >=!=3 1858 lg1: <>3 1859 lg2: <>=3 1860 lg3: <=>3 1861 lg4: <=>=3 1862 gl1: ><3 1863 gl2: ><=3 1864 gl3: >=<3 1865 gl4: >=<=3 1866 ne1: !=!=3 1867 ne2: !=<3 1868 ne3: !=<=3 1869 ne4: !=>3 1870 ne5: !=>=3 1871 s: string 1872 n: number 1873 i: int 1874 f: float 1875 b: bytes 1876 basic1: <〈0;i〉 1877 basic2: >〈0;n〉 1878 basic3: >=〈0;s〉 1879 basic4: <=〈0;f〉 1880 basic5: <=〈0;b〉 1881 bne1: !=〈0;s〉 1882 bne2: !=〈0;n〉 1883 bne3: !=〈0;n〉 1884 bne4: !=〈0;i〉 1885 bne5: !=〈0;b〉 1886 e1: <=~"foo" 1887 e2: >null 1888 } 1889 }