cuelang.org/go@v0.13.0/cue/testdata/eval/closedness.txtar (about) 1 // Issue #852 2 3 -- in.cue -- 4 #E: { 5 c: int 6 } 7 #A: { 8 b: int 9 q: { 10 #E 11 d: int 12 } 13 } 14 a: #A & { 15 b: 3 16 q: { 17 c: 2 18 e: 43 19 } 20 } 21 22 // `a` is evaluated through the comprehension first. Ensure that 23 // this does not bypass closedness checks. 24 issue852: { 25 #A: { 26 [=~"^a-z$"]: string 27 } 28 29 a: #A 30 31 a: Foo: "foo" 32 33 for k, v in a { 34 b: "\(k)": v 35 } 36 } 37 38 dynamic: { 39 #D: { 40 key: "foo" 41 (key): int 42 } 43 d: #D & {foo: 3} 44 } 45 -- embed.cue -- 46 issue3325: ok: { 47 #Items: [Name=string]: { 48 name: Name 49 } 50 51 #Base: { 52 name: "base" 53 type: string 54 55 items: #Items 56 } 57 58 #Extended: #Base & { 59 type: "extended" 60 items: "my-item": {} 61 } 62 63 broken: { 64 #Base 65 #Extended 66 } 67 68 works: { 69 #Extended 70 #Base 71 } 72 } 73 74 patterns: shallow: { 75 #a: [>="k"]: int 76 #b: [<="m"]: int 77 #c: [>="w"]: int 78 #d: [<="y"]: int 79 80 single: { 81 X: #a // "k" <= x 82 err: X 83 err: j: 3 84 85 ok: X 86 ok: k: 3 87 } 88 89 and: p1: { 90 X: #a & #b // "k" <= x && x <= "m" 91 92 err: X 93 err: j: 3 94 95 ok: X 96 ok: k: 3 97 } 98 99 and: p2: { 100 X: #b & #a // "k" <= x && x <= "m" 101 err: X 102 err: j: 3 103 104 ok: X 105 ok: k: 3 106 } 107 108 andEmbed: p1: { 109 X: { #a & #b } // "k" <= x && x <= "m" 110 111 err: X 112 err: j: 3 113 114 ok: X 115 ok: k: 3 116 } 117 118 andEmbed: p2: { 119 X: { #b & #a } // "k" <= x && x <= "m" 120 err: X 121 err: j: 3 122 123 ok: X 124 ok: k: 3 125 } 126 127 orEmbed: p1: { 128 X: { #a, #b } // "k" <= x && x <= "m" 129 130 ok1: X 131 ok1: j: 3 132 133 ok2: X 134 ok2: k: 3 135 } 136 137 orEmbed: p2: { 138 X: { #b, #a } // "k" <= x && x <= "m" 139 ok1: X 140 ok1: j: 3 141 142 ok2: X 143 ok2: k: 3 144 } 145 146 andOrEmbed: t1: p1: { 147 // ("k" <= x && x <= "m") || ("w" <= x && x <= "y") 148 X: { 149 #a & #b 150 #c & #d 151 } 152 err1: X 153 err1: j: 3 154 155 ok1: X 156 ok1: k: 3 157 } 158 159 andOrEmbed: t1: p2: { 160 // ("k" <= x && x <= "m") || ("w" <= x && x <= "y") 161 X: { 162 #c & #d 163 #a & #b 164 } 165 err1: X 166 err1: j: 3 167 168 ok1: X 169 ok1: k: 3 170 } 171 172 andOrEmbed: t2:{ 173 // ("k" <= x && x <= "m") || ("w" <= x && x <= "y") || x == "p" 174 X: { 175 #a & #b 176 #c & #d 177 ["p"]: int 178 } 179 err1: X 180 err1: j: 3 181 182 ok1: X 183 ok1: k: 3 184 185 ok2: X 186 ok2: p: 3 187 } 188 189 // The last indirection is not a definition. 190 indirect: { 191 a: [>="k"]: int 192 #a: a 193 194 p1: { // XXX // link to code 195 X: #a 196 err1: X 197 err1: j: 3 198 199 err2: X & __no_sharing 200 err2: j: 3 201 202 ok: X 203 ok:k: 3 204 } 205 206 p2: { 207 #a: a & __no_sharing 208 X: #a 209 210 err1: X 211 err1: j: 3 212 213 err2: X & __no_sharing 214 err2: j: 3 215 216 ok: X 217 ok: k: 3 218 } 219 220 p3: { 221 X: #a & __no_sharing 222 223 err1: X 224 err1: j: 3 225 226 err2: X & __no_sharing 227 err2: j: 3 228 229 ok: X 230 ok: k: 3 231 } 232 233 p4: { 234 #a: a & __no_sharing 235 X: #a 236 X: #a & __no_sharing 237 238 err1: X 239 err1: j: 3 240 241 err2: X & __no_sharing 242 err2: j: 3 243 244 ok: X 245 ok: k: 3 246 } 247 } 248 } 249 250 patterns: nested: { 251 #a: x: y: [>="k"]: int 252 #b: x: y: [<="m"]: int 253 #c: x: y: [>="w"]: int 254 #d: x: y: [<="y"]: int 255 256 single: { 257 X: #a // "k" <= x 258 err: X 259 err: x: y: j: 3 260 261 ok: X 262 ok: x: y: k: 3 263 } 264 265 and: p1: { 266 X: #a & #b // "k" <= x && x <= "m" 267 268 err: X 269 err: x: y: j: 3 270 271 ok: X 272 ok: x: y: k: 3 273 } 274 275 and: p2: { 276 X: #b & #a // "k" <= x && x <= "m" 277 err: X 278 err: x: y: j: 3 279 280 ok: X 281 ok: x: y: k: 3 282 } 283 284 andEmbed: p1: { 285 X: { #a & #b } // "k" <= x && x <= "m" 286 287 err: X 288 err: x: y: j: 3 289 290 ok: X 291 ok: x: y: k: 3 292 } 293 294 andEmbed: p2: { 295 X: { #b & #a } // "k" <= x && x <= "m" 296 err: X 297 err: x: y: j: 3 298 299 ok: X 300 ok: x: y: k: 3 301 } 302 303 orEmbed: p1: { 304 X: { #a, #b } // "k" <= x && x <= "m" 305 306 ok1: X 307 ok1: x: y: j: 3 308 309 ok2: X 310 ok2: x: y: k: 3 311 } 312 313 orEmbed: p2: { 314 X: { #b, #a } // "k" <= x && x <= "m" 315 ok1: X 316 ok1: x: y: j: 3 317 318 ok2: X 319 ok2: x: y: k: 3 320 } 321 322 andOrEmbed: t1: p1: { 323 // ("k" <= x && x <= "m") || ("w" <= x && x <= "y") 324 X: { 325 #a & #b 326 #c & #d 327 } 328 err1: X 329 err1: x: y: j: 3 330 331 ok1: X 332 ok1: x: y: k: 3 333 } 334 335 andOrEmbed: t1: p2: { 336 // ("k" <= x && x <= "m") || ("w" <= x && x <= "y") 337 X: { 338 #c & #d 339 #a & #b 340 } 341 err1: X 342 err1: x: y: j: 3 343 344 ok1: X 345 ok1: x: y: k: 3 346 } 347 348 andOrEmbed: t2:{ 349 // ("k" <= x && x <= "m") || ("w" <= x && x <= "y") || x == "p" 350 X: { 351 #a & #b 352 #c & #d 353 ["p"]: int 354 } 355 err1: X 356 err1: x: y: j: 3 357 358 ok1: X 359 ok1: x: y: k: 3 360 361 ok2: X 362 ok2: x: y: p: 3 363 } 364 365 // The last indirection is not a definition. 366 indirect: { 367 a: x: y: [>="k"]: int 368 #a: a 369 370 p1: { 371 X: #a 372 err1: X 373 err1: x: y: j: 3 374 375 err2: X & __no_sharing 376 err2: x: y: j: 3 377 378 ok: X 379 ok: x: y: k: 3 380 } 381 382 p2: { 383 #a: a & __no_sharing 384 X: #a 385 386 err1: X 387 err1: x: y: j: 3 388 389 err2: X & __no_sharing 390 err2: x: y: j: 3 391 392 ok: X 393 ok: x: y: k: 3 394 } 395 396 p3: { 397 X: #a & __no_sharing 398 399 err1: X 400 err1: x: y: j: 3 401 402 err2: X & __no_sharing 403 err2: x: y: j: 3 404 405 ok: X 406 ok: x: y: k: 3 407 } 408 409 p4: { 410 #a: a & __no_sharing 411 X: #a 412 X: #a & __no_sharing 413 414 err1: X 415 err1: x: y: j: 3 416 417 err2: X & __no_sharing 418 err2: x: y: j: 3 419 420 ok: X 421 ok: x: y: k: 3 422 } 423 } 424 } 425 426 issue2241: { 427 #close: {} 428 429 a: { 430 x: q: 2 431 #close 432 } 433 434 b: a 435 b: x: r: 4 436 } 437 438 -- ellipsis.cue -- 439 issue3778: full: { 440 #x: a?: string 441 #y: #x & { ... } 442 z: #y & { 443 a: "ok" 444 b: "something" 445 } 446 } 447 issue3778: keepOpen: { 448 #x: { a?: string, ... } 449 #y: #x & { ... } 450 z: #y & { 451 a: "ok" 452 b: "something" 453 } 454 } 455 456 // All three reproducers below should fail with "field not allowed". 457 issue1867: one: { 458 #T: close({}) 459 #T: {...} 460 x: #T 461 x: foo: "foo" 462 } 463 issue1867: two: { 464 #S: {} 465 #T: s: #S 466 #T: s: {...} 467 x: #T.s 468 x: foo: "foo" 469 } 470 // This third version used to not fail as expected on evalv2. 471 issue1867: three: { 472 #T: s: close({}) 473 #T: s: {...} 474 x: #T.s 475 x: foo: "foo" 476 } 477 issue3924: one: { 478 #Schema: { 479 ... 480 {[string]: #SchemaInner} 481 } 482 #SchemaInner: allowed?: string 483 484 out: #Schema & {foo: disallowed: "foo"} // should fail 485 } 486 issue3924: two: { 487 #Schema: { 488 {[string]: #job} 489 490 #job: matchN(1, [{ 491 other?: string 492 ... 493 }]) & close({ 494 allowed?: string 495 }) 496 } 497 out: #Schema & {foo: disallowed: "bar"} // should fail 498 } 499 500 -- reroot.cue -- 501 import "list" 502 503 issue3330: { 504 let: ok: { 505 #struct: { 506 let empty = {} 507 508 field: null | { n: int } 509 field: empty & { n: 3 } 510 } 511 512 out: list.Concat([[#struct]]) 513 } 514 matthew: ok1: { 515 #struct: { 516 field: { n: 3 } & g 517 g: {} 518 } 519 520 out: #struct & {} 521 } 522 matthew: ok2: { 523 #struct: { 524 field: { n: 3 } & g 525 g: {} 526 } 527 528 out: #struct 529 out2: out & {} 530 } 531 } 532 issue3331: { 533 original: ok: { 534 #A: { 535 let b = {} 536 c: b & { 537 d: 1 538 } 539 } 540 list.Concat([[#A]]) 541 } 542 variant1: ok: { 543 #A: { 544 let b = {} 545 c: b & { 546 d: 1 547 } 548 } 549 [[#A]] 550 } 551 } 552 553 // indirect tests cases where a reference indirectly crosses a node that 554 // references a definition, thereby indirectly referencing it. 555 indirect: { 556 embed: err1: { 557 #A: { 558 x: {#x, #y} 559 zx: x.a 560 } 561 562 #x: {a: b: 1} 563 #y: {a: c: 2} 564 565 b: #A 566 567 b1: b.zx 568 b1: d: 1 // This should fail as b.zx crosses a reference to definition. 569 } 570 closed: err1: { 571 X: { 572 // refer to a value that will be closed after unification in another struct. 573 a: b 574 b: {} 575 a: e: 1 576 } 577 Y: X 578 Y: { 579 b: c 580 c: #X 581 } 582 #X: {} 583 } 584 } 585 // nested.a 586 nested: ok1: { 587 #A: { 588 b: {} 589 590 #B: { 591 c: b & { 592 d: 1 593 } 594 } 595 } 596 x: #A 597 } 598 nested: embed: ok: { 599 x: #A 600 #A: { 601 k 602 } 603 k: { 604 d: b & {e: int} 605 b: {} 606 } 607 } 608 // nested.b tests insertion of a field (b) that has a conjunct rooted within 609 // the tree it is referred in as well as a conjunct outside of it that refers 610 // to a definition. 611 nested: err1: { 612 x: #A 613 #A: { 614 b: f: 1 615 v: #V 616 #V: { 617 c: b & { // Fails as #B is not compatible. 618 d: 1 619 } 620 } 621 } 622 x: b: #B 623 #B: g: 1 624 } 625 626 nested: err2: { 627 #A: { 628 b: {} // error only reported here. 629 c: b & { 630 // error (g not allowed) not reported here, as it would be okay if b 631 // were valid. Instead, it is reported at b only. This is conform 632 // the spec. 633 d: 1 634 } 635 } 636 x: #A 637 x: b: g: 1 638 } 639 640 inline: { 641 #x: y: z?: name: string 642 643 err1: (#x & {y: z: _}).y.z & { 644 name: "a" 645 age1: 5 // not allowed 646 } 647 err2: (#x.y & {z: _}).z & { 648 name: "a" 649 age2: 5 // not allowed 650 } 651 } 652 653 // minInDef defines examples where a definition is mixed into an open struct, 654 // where then this struct refers to a field that is closed by the definition. 655 mixInDef: { 656 refInside: { 657 #x: b: c: {d: {}, e: f: {} } 658 a: #x 659 a: b: c: d: {} 660 a: b: c: e: c.d 661 } 662 refEdge: { 663 #x: c: {d: {}, e: f: {} } 664 a: #x 665 a: c: d: {} 666 a: c: e: c.d 667 } 668 refOutside: { 669 #x: c: {d: {}, e: f: {} } 670 a: #x 671 a: c: d: {} 672 a: c: e: a.c.d // crosses definition 673 } 674 } 675 676 issue3601: original: { 677 out: { 678 #Transform.output 679 } 680 #Transform: output: (#Patch & {}).output 681 #Patch: { 682 target: {} 683 output: foo: { 684 final: target 685 final: version: "v1" 686 } 687 } 688 } 689 issue3601: originalNoShare: { 690 // Like the original, but with explicit no sharing. 691 out: { 692 #Transform.output 693 } 694 #Transform: output: (#Patch & __no_sharing).output 695 #Patch: { 696 target: {} 697 output: foo: { 698 final: target 699 final: version: "v1" 700 } 701 } 702 } 703 issue3601: reduced: { 704 #X: { 705 a: b: c: "v1" 706 a: b: empty 707 empty: {} 708 } 709 710 original: { 711 Y: (#X & __no_sharing).a 712 out: Y & __no_sharing 713 } 714 moreInlining: { 715 out: (#X & {}).a & {} 716 } 717 noInline: { 718 Y: #X & __no_sharing 719 Z: Y & __no_sharing 720 out: Z.a & __no_sharing 721 } 722 moreNesting: { 723 #X: { 724 a: b: c: d: "v1" 725 a: b: c: empty 726 empty: {} 727 } 728 Y: (#X.a & __no_sharing).b 729 Z: Y & __no_sharing 730 } 731 } 732 733 -- validation.cue -- 734 import "list" 735 736 issue3332: { 737 #def: field: list.MinItems(1) 738 use: #def & { 739 field: ["value"] 740 } 741 } 742 743 -- out/evalalpha/stats -- 744 Leaks: 989 745 Freed: 0 746 Reused: 0 747 Allocs: 989 748 Retain: 0 749 750 Unifications: 960 751 Conjuncts: 2064 752 Disjuncts: 2 753 754 CloseIDElems: 4777 755 NumCloseIDs: 699 756 -- diff/-out/evalalpha/stats<==>+out/eval/stats -- 757 diff old new 758 --- old 759 +++ new 760 @@ -1,9 +1,12 @@ 761 -Leaks: 21 762 -Freed: 828 763 -Reused: 820 764 -Allocs: 29 765 -Retain: 89 766 - 767 -Unifications: 843 768 -Conjuncts: 2097 769 -Disjuncts: 918 770 +Leaks: 989 771 +Freed: 0 772 +Reused: 0 773 +Allocs: 989 774 +Retain: 0 775 + 776 +Unifications: 960 777 +Conjuncts: 2064 778 +Disjuncts: 2 779 + 780 +CloseIDElems: 4777 781 +NumCloseIDs: 699 782 -- out/eval/stats -- 783 Leaks: 21 784 Freed: 828 785 Reused: 820 786 Allocs: 29 787 Retain: 89 788 789 Unifications: 843 790 Conjuncts: 2097 791 Disjuncts: 918 792 -- out/eval -- 793 Errors: 794 a.q.e: field not allowed: 795 ./in.cue:1:5 796 ./in.cue:6:5 797 ./in.cue:7:3 798 ./in.cue:11:4 799 ./in.cue:15:3 800 indirect.closed.err1.Y.a.e: field not allowed: 801 ./reroot.cue:73:7 802 ./reroot.cue:74:7 803 ./reroot.cue:75:7 804 ./reroot.cue:77:6 805 ./reroot.cue:79:7 806 ./reroot.cue:80:7 807 ./reroot.cue:82:7 808 issue1867.one.x.foo: field not allowed: 809 ./ellipsis.cue:20:12 810 ./ellipsis.cue:21:7 811 ./ellipsis.cue:22:5 812 ./ellipsis.cue:23:5 813 issue1867.three.x.foo: field not allowed: 814 ./ellipsis.cue:34:15 815 ./ellipsis.cue:35:10 816 ./ellipsis.cue:36:5 817 ./ellipsis.cue:37:5 818 issue1867.two.x.foo: field not allowed: 819 ./ellipsis.cue:26:6 820 ./ellipsis.cue:27:9 821 ./ellipsis.cue:28:10 822 ./ellipsis.cue:29:5 823 ./ellipsis.cue:30:5 824 issue3778.full.z.b: field not allowed: 825 ./ellipsis.cue:2:6 826 ./ellipsis.cue:3:6 827 ./ellipsis.cue:3:13 828 ./ellipsis.cue:4:5 829 ./ellipsis.cue:6:3 830 issue3924.one.out.foo.disallowed: field not allowed: 831 ./ellipsis.cue:42:3 832 ./ellipsis.cue:42:14 833 ./ellipsis.cue:44:16 834 ./ellipsis.cue:46:7 835 ./ellipsis.cue:46:23 836 issue852.a.Foo: field not allowed: 837 ./in.cue:22:6 838 ./in.cue:26:5 839 ./in.cue:28:5 840 nested.err1.x.#V.c.d: field not allowed: 841 ./reroot.cue:112:5 842 ./reroot.cue:114:6 843 ./reroot.cue:117:7 844 ./reroot.cue:118:5 845 ./reroot.cue:122:8 846 ./reroot.cue:123:6 847 nested.err1.x.#V.c.f: field not allowed: 848 ./reroot.cue:112:5 849 ./reroot.cue:114:6 850 ./reroot.cue:117:7 851 ./reroot.cue:117:11 852 ./reroot.cue:122:8 853 ./reroot.cue:123:6 854 nested.err1.x.b.f: field not allowed: 855 ./reroot.cue:112:5 856 ./reroot.cue:114:6 857 ./reroot.cue:122:8 858 ./reroot.cue:123:6 859 nested.err1.x.b.g: field not allowed: 860 ./reroot.cue:112:5 861 ./reroot.cue:114:6 862 ./reroot.cue:122:8 863 ./reroot.cue:123:6 864 nested.err1.x.v.c.d: field not allowed: 865 ./reroot.cue:112:5 866 ./reroot.cue:114:6 867 ./reroot.cue:115:6 868 ./reroot.cue:117:7 869 ./reroot.cue:118:5 870 ./reroot.cue:122:8 871 ./reroot.cue:123:6 872 nested.err1.x.v.c.f: field not allowed: 873 ./reroot.cue:112:5 874 ./reroot.cue:114:6 875 ./reroot.cue:115:6 876 ./reroot.cue:117:7 877 ./reroot.cue:117:11 878 ./reroot.cue:122:8 879 ./reroot.cue:123:6 880 nested.err2.x.b.g: field not allowed: 881 ./reroot.cue:128:6 882 ./reroot.cue:136:5 883 ./reroot.cue:137:8 884 patterns.nested.and.p1.err.x.y.j: field not allowed: 885 ./embed.cue:206:12 886 ./embed.cue:207:12 887 ./embed.cue:221:6 888 ./embed.cue:221:11 889 ./embed.cue:223:8 890 ./embed.cue:224:14 891 patterns.nested.and.p2.err.x.y.j: field not allowed: 892 ./embed.cue:206:12 893 ./embed.cue:207:12 894 ./embed.cue:231:6 895 ./embed.cue:231:11 896 ./embed.cue:232:8 897 ./embed.cue:233:14 898 patterns.nested.andEmbed.p1.err.x.y.j: field not allowed: 899 ./embed.cue:206:12 900 ./embed.cue:207:12 901 ./embed.cue:240:8 902 ./embed.cue:240:13 903 ./embed.cue:242:8 904 ./embed.cue:243:14 905 patterns.nested.andEmbed.p2.err.x.y.j: field not allowed: 906 ./embed.cue:206:12 907 ./embed.cue:207:12 908 ./embed.cue:250:8 909 ./embed.cue:250:13 910 ./embed.cue:251:8 911 ./embed.cue:252:14 912 patterns.nested.andOrEmbed.t1.p1.err1.x.y.j: field not allowed: 913 ./embed.cue:206:12 914 ./embed.cue:207:12 915 ./embed.cue:208:12 916 ./embed.cue:209:12 917 ./embed.cue:280:4 918 ./embed.cue:280:9 919 ./embed.cue:281:4 920 ./embed.cue:281:9 921 ./embed.cue:283:9 922 ./embed.cue:284:15 923 patterns.nested.andOrEmbed.t1.p2.err1.x.y.j: field not allowed: 924 ./embed.cue:206:12 925 ./embed.cue:207:12 926 ./embed.cue:208:12 927 ./embed.cue:209:12 928 ./embed.cue:293:4 929 ./embed.cue:293:9 930 ./embed.cue:294:4 931 ./embed.cue:294:9 932 ./embed.cue:296:9 933 ./embed.cue:297:15 934 patterns.nested.andOrEmbed.t2.err1.x.y.j: field not allowed: 935 ./embed.cue:206:12 936 ./embed.cue:207:12 937 ./embed.cue:208:12 938 ./embed.cue:209:12 939 ./embed.cue:306:4 940 ./embed.cue:306:9 941 ./embed.cue:307:4 942 ./embed.cue:307:9 943 ./embed.cue:310:9 944 ./embed.cue:311:15 945 patterns.nested.andOrEmbed.t2.ok2.x.y.p: field not allowed: 946 ./embed.cue:206:12 947 ./embed.cue:207:12 948 ./embed.cue:208:12 949 ./embed.cue:209:12 950 ./embed.cue:306:4 951 ./embed.cue:306:9 952 ./embed.cue:307:4 953 ./embed.cue:307:9 954 ./embed.cue:316:8 955 ./embed.cue:317:14 956 patterns.nested.indirect.p1.err1.x.y.j: field not allowed: 957 ./embed.cue:322:12 958 ./embed.cue:323:7 959 ./embed.cue:326:7 960 ./embed.cue:327:10 961 ./embed.cue:328:16 962 patterns.nested.indirect.p1.err2.x.y.j: field not allowed: 963 ./embed.cue:322:12 964 ./embed.cue:323:7 965 ./embed.cue:326:7 966 ./embed.cue:330:10 967 ./embed.cue:331:16 968 patterns.nested.indirect.p2.err1.x.y.j: field not allowed: 969 ./embed.cue:322:12 970 ./embed.cue:338:8 971 ./embed.cue:339:7 972 ./embed.cue:341:10 973 ./embed.cue:342:16 974 patterns.nested.indirect.p2.err2.x.y.j: field not allowed: 975 ./embed.cue:322:12 976 ./embed.cue:338:8 977 ./embed.cue:339:7 978 ./embed.cue:344:10 979 ./embed.cue:345:16 980 patterns.nested.indirect.p3.err1.x.y.j: field not allowed: 981 ./embed.cue:322:12 982 ./embed.cue:323:7 983 ./embed.cue:352:7 984 ./embed.cue:354:10 985 ./embed.cue:355:16 986 patterns.nested.indirect.p3.err2.x.y.j: field not allowed: 987 ./embed.cue:322:12 988 ./embed.cue:323:7 989 ./embed.cue:352:7 990 ./embed.cue:357:10 991 ./embed.cue:358:16 992 patterns.nested.indirect.p4.err1.x.y.j: field not allowed: 993 ./embed.cue:322:12 994 ./embed.cue:365:8 995 ./embed.cue:366:7 996 ./embed.cue:369:10 997 ./embed.cue:370:16 998 patterns.nested.indirect.p4.err2.x.y.j: field not allowed: 999 ./embed.cue:322:12 1000 ./embed.cue:365:8 1001 ./embed.cue:366:7 1002 ./embed.cue:372:10 1003 ./embed.cue:373:16 1004 patterns.nested.single.err.x.y.j: field not allowed: 1005 ./embed.cue:206:12 1006 ./embed.cue:212:6 1007 ./embed.cue:213:8 1008 ./embed.cue:214:14 1009 patterns.shallow.and.p1.err.j: field not allowed: 1010 ./embed.cue:30:6 1011 ./embed.cue:31:6 1012 ./embed.cue:45:6 1013 ./embed.cue:45:11 1014 ./embed.cue:47:8 1015 ./embed.cue:48:8 1016 patterns.shallow.and.p2.err.j: field not allowed: 1017 ./embed.cue:30:6 1018 ./embed.cue:31:6 1019 ./embed.cue:55:6 1020 ./embed.cue:55:11 1021 ./embed.cue:56:8 1022 ./embed.cue:57:8 1023 patterns.shallow.andEmbed.p1.err.j: field not allowed: 1024 ./embed.cue:30:6 1025 ./embed.cue:31:6 1026 ./embed.cue:64:6 1027 ./embed.cue:64:8 1028 ./embed.cue:64:13 1029 ./embed.cue:66:8 1030 ./embed.cue:67:8 1031 patterns.shallow.andEmbed.p2.err.j: field not allowed: 1032 ./embed.cue:30:6 1033 ./embed.cue:31:6 1034 ./embed.cue:74:6 1035 ./embed.cue:74:8 1036 ./embed.cue:74:13 1037 ./embed.cue:75:8 1038 ./embed.cue:76:8 1039 patterns.shallow.andOrEmbed.t1.p1.err1.j: field not allowed: 1040 ./embed.cue:30:6 1041 ./embed.cue:31:6 1042 ./embed.cue:32:6 1043 ./embed.cue:33:6 1044 ./embed.cue:103:6 1045 ./embed.cue:104:4 1046 ./embed.cue:104:9 1047 ./embed.cue:105:4 1048 ./embed.cue:105:9 1049 ./embed.cue:107:9 1050 ./embed.cue:108:9 1051 patterns.shallow.andOrEmbed.t1.p2.err1.j: field not allowed: 1052 ./embed.cue:30:6 1053 ./embed.cue:31:6 1054 ./embed.cue:32:6 1055 ./embed.cue:33:6 1056 ./embed.cue:116:6 1057 ./embed.cue:117:4 1058 ./embed.cue:117:9 1059 ./embed.cue:118:4 1060 ./embed.cue:118:9 1061 ./embed.cue:120:9 1062 ./embed.cue:121:9 1063 patterns.shallow.andOrEmbed.t2.err1.j: field not allowed: 1064 ./embed.cue:30:6 1065 ./embed.cue:31:6 1066 ./embed.cue:32:6 1067 ./embed.cue:33:6 1068 ./embed.cue:129:6 1069 ./embed.cue:130:4 1070 ./embed.cue:130:9 1071 ./embed.cue:131:4 1072 ./embed.cue:131:9 1073 ./embed.cue:134:9 1074 ./embed.cue:135:9 1075 patterns.shallow.indirect.p1.err1.j: field not allowed: 1076 ./embed.cue:146:6 1077 ./embed.cue:147:7 1078 ./embed.cue:150:7 1079 ./embed.cue:151:10 1080 ./embed.cue:152:10 1081 patterns.shallow.indirect.p1.err2.j: field not allowed: 1082 ./embed.cue:146:6 1083 ./embed.cue:147:7 1084 ./embed.cue:150:7 1085 ./embed.cue:154:10 1086 ./embed.cue:155:10 1087 patterns.shallow.indirect.p2.err1.j: field not allowed: 1088 ./embed.cue:146:6 1089 ./embed.cue:162:8 1090 ./embed.cue:163:7 1091 ./embed.cue:165:10 1092 ./embed.cue:166:10 1093 patterns.shallow.indirect.p2.err2.j: field not allowed: 1094 ./embed.cue:146:6 1095 ./embed.cue:162:8 1096 ./embed.cue:163:7 1097 ./embed.cue:168:10 1098 ./embed.cue:169:10 1099 patterns.shallow.indirect.p3.err1.j: field not allowed: 1100 ./embed.cue:146:6 1101 ./embed.cue:147:7 1102 ./embed.cue:176:7 1103 ./embed.cue:178:10 1104 ./embed.cue:179:10 1105 patterns.shallow.indirect.p3.err2.j: field not allowed: 1106 ./embed.cue:146:6 1107 ./embed.cue:147:7 1108 ./embed.cue:176:7 1109 ./embed.cue:181:10 1110 ./embed.cue:182:10 1111 patterns.shallow.indirect.p4.err1.j: field not allowed: 1112 ./embed.cue:146:6 1113 ./embed.cue:189:8 1114 ./embed.cue:190:7 1115 ./embed.cue:193:10 1116 ./embed.cue:194:10 1117 patterns.shallow.indirect.p4.err2.j: field not allowed: 1118 ./embed.cue:146:6 1119 ./embed.cue:189:8 1120 ./embed.cue:190:7 1121 ./embed.cue:196:10 1122 ./embed.cue:197:10 1123 patterns.shallow.single.err.j: field not allowed: 1124 ./embed.cue:30:6 1125 ./embed.cue:36:6 1126 ./embed.cue:37:8 1127 ./embed.cue:38:8 1128 issue3924.two.out.foo: invalid value {disallowed:_|_(issue3924.two.out.foo.disallowed: field not allowed),allowed?:string} (does not satisfy matchN): 0 matched, expected 1: 1129 ./ellipsis.cue:52:9 1130 ./ellipsis.cue:50:14 1131 ./ellipsis.cue:52:16 1132 ./ellipsis.cue:59:23 1133 issue3924.two.out.foo.disallowed: field not allowed: 1134 ./ellipsis.cue:52:9 1135 ./ellipsis.cue:50:3 1136 ./ellipsis.cue:50:14 1137 ./ellipsis.cue:55:15 1138 ./ellipsis.cue:59:7 1139 ./ellipsis.cue:59:23 1140 1141 Result: 1142 (_|_){ 1143 // [eval] 1144 issue3778: (_|_){ 1145 // [eval] 1146 full: (_|_){ 1147 // [eval] 1148 #x: (#struct){ 1149 a?: (string){ string } 1150 } 1151 #y: (#struct){ 1152 a?: (string){ string } 1153 } 1154 z: (_|_){ 1155 // [eval] 1156 a: (string){ "ok" } 1157 b: (_|_){ 1158 // [eval] issue3778.full.z.b: field not allowed: 1159 // ./ellipsis.cue:2:6 1160 // ./ellipsis.cue:3:6 1161 // ./ellipsis.cue:3:13 1162 // ./ellipsis.cue:4:5 1163 // ./ellipsis.cue:6:3 1164 } 1165 } 1166 } 1167 keepOpen: (struct){ 1168 #x: (#struct){ 1169 a?: (string){ string } 1170 } 1171 #y: (#struct){ 1172 a?: (string){ string } 1173 } 1174 z: (#struct){ 1175 a: (string){ "ok" } 1176 b: (string){ "something" } 1177 } 1178 } 1179 } 1180 issue1867: (_|_){ 1181 // [eval] 1182 one: (_|_){ 1183 // [eval] 1184 #T: (#struct){ 1185 } 1186 x: (_|_){ 1187 // [eval] 1188 foo: (_|_){ 1189 // [eval] issue1867.one.x.foo: field not allowed: 1190 // ./ellipsis.cue:20:12 1191 // ./ellipsis.cue:21:7 1192 // ./ellipsis.cue:22:5 1193 // ./ellipsis.cue:23:5 1194 } 1195 } 1196 } 1197 two: (_|_){ 1198 // [eval] 1199 #S: (#struct){ 1200 } 1201 #T: (#struct){ 1202 s: (#struct){ 1203 } 1204 } 1205 x: (_|_){ 1206 // [eval] 1207 foo: (_|_){ 1208 // [eval] issue1867.two.x.foo: field not allowed: 1209 // ./ellipsis.cue:26:6 1210 // ./ellipsis.cue:27:9 1211 // ./ellipsis.cue:28:10 1212 // ./ellipsis.cue:29:5 1213 // ./ellipsis.cue:30:5 1214 } 1215 } 1216 } 1217 three: (_|_){ 1218 // [eval] 1219 #T: (#struct){ 1220 s: (#struct){ 1221 } 1222 } 1223 x: (_|_){ 1224 // [eval] 1225 foo: (_|_){ 1226 // [eval] issue1867.three.x.foo: field not allowed: 1227 // ./ellipsis.cue:34:15 1228 // ./ellipsis.cue:35:10 1229 // ./ellipsis.cue:36:5 1230 // ./ellipsis.cue:37:5 1231 } 1232 } 1233 } 1234 } 1235 issue3924: (_|_){ 1236 // [eval] 1237 one: (_|_){ 1238 // [eval] 1239 #Schema: (#struct){ 1240 } 1241 #SchemaInner: (#struct){ 1242 allowed?: (string){ string } 1243 } 1244 out: (_|_){ 1245 // [eval] 1246 foo: (_|_){ 1247 // [eval] 1248 disallowed: (_|_){ 1249 // [eval] issue3924.one.out.foo.disallowed: field not allowed: 1250 // ./ellipsis.cue:42:3 1251 // ./ellipsis.cue:42:14 1252 // ./ellipsis.cue:44:16 1253 // ./ellipsis.cue:46:7 1254 // ./ellipsis.cue:46:23 1255 } 1256 allowed?: (string){ string } 1257 } 1258 } 1259 } 1260 two: (_|_){ 1261 // [eval] 1262 #Schema: (#struct){ 1263 #job: (#struct){ 1264 allowed?: (string){ string } 1265 } 1266 } 1267 out: (_|_){ 1268 // [eval] 1269 #job: (#struct){ 1270 allowed?: (string){ string } 1271 } 1272 foo: (_|_){ 1273 // [eval] issue3924.two.out.foo: invalid value {disallowed:_|_(issue3924.two.out.foo.disallowed: field not allowed),allowed?:string} (does not satisfy matchN): 0 matched, expected 1: 1274 // ./ellipsis.cue:52:9 1275 // ./ellipsis.cue:50:14 1276 // ./ellipsis.cue:52:16 1277 // ./ellipsis.cue:59:23 1278 // issue3924.two.out.foo.disallowed: field not allowed: 1279 // ./ellipsis.cue:52:9 1280 // ./ellipsis.cue:50:3 1281 // ./ellipsis.cue:50:14 1282 // ./ellipsis.cue:55:15 1283 // ./ellipsis.cue:59:7 1284 // ./ellipsis.cue:59:23 1285 disallowed: (_|_){ 1286 // [eval] issue3924.two.out.foo.disallowed: field not allowed: 1287 // ./ellipsis.cue:52:9 1288 // ./ellipsis.cue:50:3 1289 // ./ellipsis.cue:50:14 1290 // ./ellipsis.cue:55:15 1291 // ./ellipsis.cue:59:7 1292 // ./ellipsis.cue:59:23 1293 } 1294 allowed?: (string){ string } 1295 } 1296 } 1297 } 1298 } 1299 issue3325: (struct){ 1300 ok: (struct){ 1301 #Items: (#struct){ 1302 } 1303 #Base: (#struct){ 1304 name: (string){ "base" } 1305 type: (string){ string } 1306 items: (#struct){ 1307 } 1308 } 1309 #Extended: (#struct){ 1310 name: (string){ "base" } 1311 type: (string){ "extended" } 1312 items: (#struct){ 1313 "my-item": (#struct){ 1314 name: (string){ "my-item" } 1315 } 1316 } 1317 } 1318 broken: (#struct){ 1319 name: (string){ "base" } 1320 type: (string){ "extended" } 1321 items: (#struct){ 1322 "my-item": (#struct){ 1323 name: (string){ "my-item" } 1324 } 1325 } 1326 } 1327 works: (#struct){ 1328 name: (string){ "base" } 1329 type: (string){ "extended" } 1330 items: (#struct){ 1331 "my-item": (#struct){ 1332 name: (string){ "my-item" } 1333 } 1334 } 1335 } 1336 } 1337 } 1338 patterns: (_|_){ 1339 // [eval] 1340 shallow: (_|_){ 1341 // [eval] 1342 #a: (#struct){ 1343 } 1344 #b: (#struct){ 1345 } 1346 #c: (#struct){ 1347 } 1348 #d: (#struct){ 1349 } 1350 single: (_|_){ 1351 // [eval] 1352 X: (#struct){ 1353 } 1354 err: (_|_){ 1355 // [eval] 1356 j: (_|_){ 1357 // [eval] patterns.shallow.single.err.j: field not allowed: 1358 // ./embed.cue:30:6 1359 // ./embed.cue:36:6 1360 // ./embed.cue:37:8 1361 // ./embed.cue:38:8 1362 } 1363 } 1364 ok: (#struct){ 1365 k: (int){ 3 } 1366 } 1367 } 1368 and: (_|_){ 1369 // [eval] 1370 p1: (_|_){ 1371 // [eval] 1372 X: (#struct){ 1373 } 1374 err: (_|_){ 1375 // [eval] 1376 j: (_|_){ 1377 // [eval] patterns.shallow.and.p1.err.j: field not allowed: 1378 // ./embed.cue:30:6 1379 // ./embed.cue:31:6 1380 // ./embed.cue:45:6 1381 // ./embed.cue:45:11 1382 // ./embed.cue:47:8 1383 // ./embed.cue:48:8 1384 } 1385 } 1386 ok: (#struct){ 1387 k: (int){ 3 } 1388 } 1389 } 1390 p2: (_|_){ 1391 // [eval] 1392 X: (#struct){ 1393 } 1394 err: (_|_){ 1395 // [eval] 1396 j: (_|_){ 1397 // [eval] patterns.shallow.and.p2.err.j: field not allowed: 1398 // ./embed.cue:30:6 1399 // ./embed.cue:31:6 1400 // ./embed.cue:55:6 1401 // ./embed.cue:55:11 1402 // ./embed.cue:56:8 1403 // ./embed.cue:57:8 1404 } 1405 } 1406 ok: (#struct){ 1407 k: (int){ 3 } 1408 } 1409 } 1410 } 1411 andEmbed: (_|_){ 1412 // [eval] 1413 p1: (_|_){ 1414 // [eval] 1415 X: (#struct){ 1416 } 1417 err: (_|_){ 1418 // [eval] 1419 j: (_|_){ 1420 // [eval] patterns.shallow.andEmbed.p1.err.j: field not allowed: 1421 // ./embed.cue:30:6 1422 // ./embed.cue:31:6 1423 // ./embed.cue:64:6 1424 // ./embed.cue:64:8 1425 // ./embed.cue:64:13 1426 // ./embed.cue:66:8 1427 // ./embed.cue:67:8 1428 } 1429 } 1430 ok: (#struct){ 1431 k: (int){ 3 } 1432 } 1433 } 1434 p2: (_|_){ 1435 // [eval] 1436 X: (#struct){ 1437 } 1438 err: (_|_){ 1439 // [eval] 1440 j: (_|_){ 1441 // [eval] patterns.shallow.andEmbed.p2.err.j: field not allowed: 1442 // ./embed.cue:30:6 1443 // ./embed.cue:31:6 1444 // ./embed.cue:74:6 1445 // ./embed.cue:74:8 1446 // ./embed.cue:74:13 1447 // ./embed.cue:75:8 1448 // ./embed.cue:76:8 1449 } 1450 } 1451 ok: (#struct){ 1452 k: (int){ 3 } 1453 } 1454 } 1455 } 1456 orEmbed: (struct){ 1457 p1: (struct){ 1458 X: (#struct){ 1459 } 1460 ok1: (#struct){ 1461 j: (int){ 3 } 1462 } 1463 ok2: (#struct){ 1464 k: (int){ 3 } 1465 } 1466 } 1467 p2: (struct){ 1468 X: (#struct){ 1469 } 1470 ok1: (#struct){ 1471 j: (int){ 3 } 1472 } 1473 ok2: (#struct){ 1474 k: (int){ 3 } 1475 } 1476 } 1477 } 1478 andOrEmbed: (_|_){ 1479 // [eval] 1480 t1: (_|_){ 1481 // [eval] 1482 p1: (_|_){ 1483 // [eval] 1484 X: (#struct){ 1485 } 1486 err1: (_|_){ 1487 // [eval] 1488 j: (_|_){ 1489 // [eval] patterns.shallow.andOrEmbed.t1.p1.err1.j: field not allowed: 1490 // ./embed.cue:30:6 1491 // ./embed.cue:31:6 1492 // ./embed.cue:32:6 1493 // ./embed.cue:33:6 1494 // ./embed.cue:103:6 1495 // ./embed.cue:104:4 1496 // ./embed.cue:104:9 1497 // ./embed.cue:105:4 1498 // ./embed.cue:105:9 1499 // ./embed.cue:107:9 1500 // ./embed.cue:108:9 1501 } 1502 } 1503 ok1: (#struct){ 1504 k: (int){ 3 } 1505 } 1506 } 1507 p2: (_|_){ 1508 // [eval] 1509 X: (#struct){ 1510 } 1511 err1: (_|_){ 1512 // [eval] 1513 j: (_|_){ 1514 // [eval] patterns.shallow.andOrEmbed.t1.p2.err1.j: field not allowed: 1515 // ./embed.cue:30:6 1516 // ./embed.cue:31:6 1517 // ./embed.cue:32:6 1518 // ./embed.cue:33:6 1519 // ./embed.cue:116:6 1520 // ./embed.cue:117:4 1521 // ./embed.cue:117:9 1522 // ./embed.cue:118:4 1523 // ./embed.cue:118:9 1524 // ./embed.cue:120:9 1525 // ./embed.cue:121:9 1526 } 1527 } 1528 ok1: (#struct){ 1529 k: (int){ 3 } 1530 } 1531 } 1532 } 1533 t2: (_|_){ 1534 // [eval] 1535 X: (#struct){ 1536 } 1537 err1: (_|_){ 1538 // [eval] 1539 j: (_|_){ 1540 // [eval] patterns.shallow.andOrEmbed.t2.err1.j: field not allowed: 1541 // ./embed.cue:30:6 1542 // ./embed.cue:31:6 1543 // ./embed.cue:32:6 1544 // ./embed.cue:33:6 1545 // ./embed.cue:129:6 1546 // ./embed.cue:130:4 1547 // ./embed.cue:130:9 1548 // ./embed.cue:131:4 1549 // ./embed.cue:131:9 1550 // ./embed.cue:134:9 1551 // ./embed.cue:135:9 1552 } 1553 } 1554 ok1: (#struct){ 1555 k: (int){ 3 } 1556 } 1557 ok2: (#struct){ 1558 p: (int){ 3 } 1559 } 1560 } 1561 } 1562 indirect: (_|_){ 1563 // [eval] 1564 a: (struct){ 1565 } 1566 #a: (#struct){ 1567 } 1568 p1: (_|_){ 1569 // [eval] 1570 X: (#struct){ 1571 } 1572 err1: (_|_){ 1573 // [eval] 1574 j: (_|_){ 1575 // [eval] patterns.shallow.indirect.p1.err1.j: field not allowed: 1576 // ./embed.cue:146:6 1577 // ./embed.cue:147:7 1578 // ./embed.cue:150:7 1579 // ./embed.cue:151:10 1580 // ./embed.cue:152:10 1581 } 1582 } 1583 err2: (_|_){ 1584 // [eval] 1585 j: (_|_){ 1586 // [eval] patterns.shallow.indirect.p1.err2.j: field not allowed: 1587 // ./embed.cue:146:6 1588 // ./embed.cue:147:7 1589 // ./embed.cue:150:7 1590 // ./embed.cue:154:10 1591 // ./embed.cue:155:10 1592 } 1593 } 1594 ok: (#struct){ 1595 k: (int){ 3 } 1596 } 1597 } 1598 p2: (_|_){ 1599 // [eval] 1600 #a: (#struct){ 1601 } 1602 X: (#struct){ 1603 } 1604 err1: (_|_){ 1605 // [eval] 1606 j: (_|_){ 1607 // [eval] patterns.shallow.indirect.p2.err1.j: field not allowed: 1608 // ./embed.cue:146:6 1609 // ./embed.cue:162:8 1610 // ./embed.cue:163:7 1611 // ./embed.cue:165:10 1612 // ./embed.cue:166:10 1613 } 1614 } 1615 err2: (_|_){ 1616 // [eval] 1617 j: (_|_){ 1618 // [eval] patterns.shallow.indirect.p2.err2.j: field not allowed: 1619 // ./embed.cue:146:6 1620 // ./embed.cue:162:8 1621 // ./embed.cue:163:7 1622 // ./embed.cue:168:10 1623 // ./embed.cue:169:10 1624 } 1625 } 1626 ok: (#struct){ 1627 k: (int){ 3 } 1628 } 1629 } 1630 p3: (_|_){ 1631 // [eval] 1632 X: (#struct){ 1633 } 1634 err1: (_|_){ 1635 // [eval] 1636 j: (_|_){ 1637 // [eval] patterns.shallow.indirect.p3.err1.j: field not allowed: 1638 // ./embed.cue:146:6 1639 // ./embed.cue:147:7 1640 // ./embed.cue:176:7 1641 // ./embed.cue:178:10 1642 // ./embed.cue:179:10 1643 } 1644 } 1645 err2: (_|_){ 1646 // [eval] 1647 j: (_|_){ 1648 // [eval] patterns.shallow.indirect.p3.err2.j: field not allowed: 1649 // ./embed.cue:146:6 1650 // ./embed.cue:147:7 1651 // ./embed.cue:176:7 1652 // ./embed.cue:181:10 1653 // ./embed.cue:182:10 1654 } 1655 } 1656 ok: (#struct){ 1657 k: (int){ 3 } 1658 } 1659 } 1660 p4: (_|_){ 1661 // [eval] 1662 #a: (#struct){ 1663 } 1664 X: (#struct){ 1665 } 1666 err1: (_|_){ 1667 // [eval] 1668 j: (_|_){ 1669 // [eval] patterns.shallow.indirect.p4.err1.j: field not allowed: 1670 // ./embed.cue:146:6 1671 // ./embed.cue:189:8 1672 // ./embed.cue:190:7 1673 // ./embed.cue:193:10 1674 // ./embed.cue:194:10 1675 } 1676 } 1677 err2: (_|_){ 1678 // [eval] 1679 j: (_|_){ 1680 // [eval] patterns.shallow.indirect.p4.err2.j: field not allowed: 1681 // ./embed.cue:146:6 1682 // ./embed.cue:189:8 1683 // ./embed.cue:190:7 1684 // ./embed.cue:196:10 1685 // ./embed.cue:197:10 1686 } 1687 } 1688 ok: (#struct){ 1689 k: (int){ 3 } 1690 } 1691 } 1692 } 1693 } 1694 nested: (_|_){ 1695 // [eval] 1696 #a: (#struct){ 1697 x: (#struct){ 1698 y: (#struct){ 1699 } 1700 } 1701 } 1702 #b: (#struct){ 1703 x: (#struct){ 1704 y: (#struct){ 1705 } 1706 } 1707 } 1708 #c: (#struct){ 1709 x: (#struct){ 1710 y: (#struct){ 1711 } 1712 } 1713 } 1714 #d: (#struct){ 1715 x: (#struct){ 1716 y: (#struct){ 1717 } 1718 } 1719 } 1720 single: (_|_){ 1721 // [eval] 1722 X: (#struct){ 1723 x: (#struct){ 1724 y: (#struct){ 1725 } 1726 } 1727 } 1728 err: (_|_){ 1729 // [eval] 1730 x: (_|_){ 1731 // [eval] 1732 y: (_|_){ 1733 // [eval] 1734 j: (_|_){ 1735 // [eval] patterns.nested.single.err.x.y.j: field not allowed: 1736 // ./embed.cue:206:12 1737 // ./embed.cue:212:6 1738 // ./embed.cue:213:8 1739 // ./embed.cue:214:14 1740 } 1741 } 1742 } 1743 } 1744 ok: (#struct){ 1745 x: (#struct){ 1746 y: (#struct){ 1747 k: (int){ 3 } 1748 } 1749 } 1750 } 1751 } 1752 and: (_|_){ 1753 // [eval] 1754 p1: (_|_){ 1755 // [eval] 1756 X: (#struct){ 1757 x: (#struct){ 1758 y: (#struct){ 1759 } 1760 } 1761 } 1762 err: (_|_){ 1763 // [eval] 1764 x: (_|_){ 1765 // [eval] 1766 y: (_|_){ 1767 // [eval] 1768 j: (_|_){ 1769 // [eval] patterns.nested.and.p1.err.x.y.j: field not allowed: 1770 // ./embed.cue:206:12 1771 // ./embed.cue:207:12 1772 // ./embed.cue:221:6 1773 // ./embed.cue:221:11 1774 // ./embed.cue:223:8 1775 // ./embed.cue:224:14 1776 } 1777 } 1778 } 1779 } 1780 ok: (#struct){ 1781 x: (#struct){ 1782 y: (#struct){ 1783 k: (int){ 3 } 1784 } 1785 } 1786 } 1787 } 1788 p2: (_|_){ 1789 // [eval] 1790 X: (#struct){ 1791 x: (#struct){ 1792 y: (#struct){ 1793 } 1794 } 1795 } 1796 err: (_|_){ 1797 // [eval] 1798 x: (_|_){ 1799 // [eval] 1800 y: (_|_){ 1801 // [eval] 1802 j: (_|_){ 1803 // [eval] patterns.nested.and.p2.err.x.y.j: field not allowed: 1804 // ./embed.cue:206:12 1805 // ./embed.cue:207:12 1806 // ./embed.cue:231:6 1807 // ./embed.cue:231:11 1808 // ./embed.cue:232:8 1809 // ./embed.cue:233:14 1810 } 1811 } 1812 } 1813 } 1814 ok: (#struct){ 1815 x: (#struct){ 1816 y: (#struct){ 1817 k: (int){ 3 } 1818 } 1819 } 1820 } 1821 } 1822 } 1823 andEmbed: (_|_){ 1824 // [eval] 1825 p1: (_|_){ 1826 // [eval] 1827 X: (#struct){ 1828 x: (#struct){ 1829 y: (#struct){ 1830 } 1831 } 1832 } 1833 err: (_|_){ 1834 // [eval] 1835 x: (_|_){ 1836 // [eval] 1837 y: (_|_){ 1838 // [eval] 1839 j: (_|_){ 1840 // [eval] patterns.nested.andEmbed.p1.err.x.y.j: field not allowed: 1841 // ./embed.cue:206:12 1842 // ./embed.cue:207:12 1843 // ./embed.cue:240:8 1844 // ./embed.cue:240:13 1845 // ./embed.cue:242:8 1846 // ./embed.cue:243:14 1847 } 1848 } 1849 } 1850 } 1851 ok: (#struct){ 1852 x: (#struct){ 1853 y: (#struct){ 1854 k: (int){ 3 } 1855 } 1856 } 1857 } 1858 } 1859 p2: (_|_){ 1860 // [eval] 1861 X: (#struct){ 1862 x: (#struct){ 1863 y: (#struct){ 1864 } 1865 } 1866 } 1867 err: (_|_){ 1868 // [eval] 1869 x: (_|_){ 1870 // [eval] 1871 y: (_|_){ 1872 // [eval] 1873 j: (_|_){ 1874 // [eval] patterns.nested.andEmbed.p2.err.x.y.j: field not allowed: 1875 // ./embed.cue:206:12 1876 // ./embed.cue:207:12 1877 // ./embed.cue:250:8 1878 // ./embed.cue:250:13 1879 // ./embed.cue:251:8 1880 // ./embed.cue:252:14 1881 } 1882 } 1883 } 1884 } 1885 ok: (#struct){ 1886 x: (#struct){ 1887 y: (#struct){ 1888 k: (int){ 3 } 1889 } 1890 } 1891 } 1892 } 1893 } 1894 orEmbed: (struct){ 1895 p1: (struct){ 1896 X: (#struct){ 1897 x: (#struct){ 1898 y: (#struct){ 1899 } 1900 } 1901 } 1902 ok1: (#struct){ 1903 x: (#struct){ 1904 y: (#struct){ 1905 j: (int){ 3 } 1906 } 1907 } 1908 } 1909 ok2: (#struct){ 1910 x: (#struct){ 1911 y: (#struct){ 1912 k: (int){ 3 } 1913 } 1914 } 1915 } 1916 } 1917 p2: (struct){ 1918 X: (#struct){ 1919 x: (#struct){ 1920 y: (#struct){ 1921 } 1922 } 1923 } 1924 ok1: (#struct){ 1925 x: (#struct){ 1926 y: (#struct){ 1927 j: (int){ 3 } 1928 } 1929 } 1930 } 1931 ok2: (#struct){ 1932 x: (#struct){ 1933 y: (#struct){ 1934 k: (int){ 3 } 1935 } 1936 } 1937 } 1938 } 1939 } 1940 andOrEmbed: (_|_){ 1941 // [eval] 1942 t1: (_|_){ 1943 // [eval] 1944 p1: (_|_){ 1945 // [eval] 1946 X: (#struct){ 1947 x: (#struct){ 1948 y: (#struct){ 1949 } 1950 } 1951 } 1952 err1: (_|_){ 1953 // [eval] 1954 x: (_|_){ 1955 // [eval] 1956 y: (_|_){ 1957 // [eval] 1958 j: (_|_){ 1959 // [eval] patterns.nested.andOrEmbed.t1.p1.err1.x.y.j: field not allowed: 1960 // ./embed.cue:206:12 1961 // ./embed.cue:207:12 1962 // ./embed.cue:208:12 1963 // ./embed.cue:209:12 1964 // ./embed.cue:280:4 1965 // ./embed.cue:280:9 1966 // ./embed.cue:281:4 1967 // ./embed.cue:281:9 1968 // ./embed.cue:283:9 1969 // ./embed.cue:284:15 1970 } 1971 } 1972 } 1973 } 1974 ok1: (#struct){ 1975 x: (#struct){ 1976 y: (#struct){ 1977 k: (int){ 3 } 1978 } 1979 } 1980 } 1981 } 1982 p2: (_|_){ 1983 // [eval] 1984 X: (#struct){ 1985 x: (#struct){ 1986 y: (#struct){ 1987 } 1988 } 1989 } 1990 err1: (_|_){ 1991 // [eval] 1992 x: (_|_){ 1993 // [eval] 1994 y: (_|_){ 1995 // [eval] 1996 j: (_|_){ 1997 // [eval] patterns.nested.andOrEmbed.t1.p2.err1.x.y.j: field not allowed: 1998 // ./embed.cue:206:12 1999 // ./embed.cue:207:12 2000 // ./embed.cue:208:12 2001 // ./embed.cue:209:12 2002 // ./embed.cue:293:4 2003 // ./embed.cue:293:9 2004 // ./embed.cue:294:4 2005 // ./embed.cue:294:9 2006 // ./embed.cue:296:9 2007 // ./embed.cue:297:15 2008 } 2009 } 2010 } 2011 } 2012 ok1: (#struct){ 2013 x: (#struct){ 2014 y: (#struct){ 2015 k: (int){ 3 } 2016 } 2017 } 2018 } 2019 } 2020 } 2021 t2: (_|_){ 2022 // [eval] 2023 X: (#struct){ 2024 x: (#struct){ 2025 y: (#struct){ 2026 } 2027 } 2028 } 2029 err1: (_|_){ 2030 // [eval] 2031 x: (_|_){ 2032 // [eval] 2033 y: (_|_){ 2034 // [eval] 2035 j: (_|_){ 2036 // [eval] patterns.nested.andOrEmbed.t2.err1.x.y.j: field not allowed: 2037 // ./embed.cue:206:12 2038 // ./embed.cue:207:12 2039 // ./embed.cue:208:12 2040 // ./embed.cue:209:12 2041 // ./embed.cue:306:4 2042 // ./embed.cue:306:9 2043 // ./embed.cue:307:4 2044 // ./embed.cue:307:9 2045 // ./embed.cue:310:9 2046 // ./embed.cue:311:15 2047 } 2048 } 2049 } 2050 } 2051 ok1: (#struct){ 2052 x: (#struct){ 2053 y: (#struct){ 2054 k: (int){ 3 } 2055 } 2056 } 2057 } 2058 ok2: (_|_){ 2059 // [eval] 2060 x: (_|_){ 2061 // [eval] 2062 y: (_|_){ 2063 // [eval] 2064 p: (_|_){ 2065 // [eval] patterns.nested.andOrEmbed.t2.ok2.x.y.p: field not allowed: 2066 // ./embed.cue:206:12 2067 // ./embed.cue:207:12 2068 // ./embed.cue:208:12 2069 // ./embed.cue:209:12 2070 // ./embed.cue:306:4 2071 // ./embed.cue:306:9 2072 // ./embed.cue:307:4 2073 // ./embed.cue:307:9 2074 // ./embed.cue:316:8 2075 // ./embed.cue:317:14 2076 } 2077 } 2078 } 2079 } 2080 } 2081 } 2082 indirect: (_|_){ 2083 // [eval] 2084 a: (struct){ 2085 x: (struct){ 2086 y: (struct){ 2087 } 2088 } 2089 } 2090 #a: (#struct){ 2091 x: (#struct){ 2092 y: (#struct){ 2093 } 2094 } 2095 } 2096 p1: (_|_){ 2097 // [eval] 2098 X: (#struct){ 2099 x: (#struct){ 2100 y: (#struct){ 2101 } 2102 } 2103 } 2104 err1: (_|_){ 2105 // [eval] 2106 x: (_|_){ 2107 // [eval] 2108 y: (_|_){ 2109 // [eval] 2110 j: (_|_){ 2111 // [eval] patterns.nested.indirect.p1.err1.x.y.j: field not allowed: 2112 // ./embed.cue:322:12 2113 // ./embed.cue:323:7 2114 // ./embed.cue:326:7 2115 // ./embed.cue:327:10 2116 // ./embed.cue:328:16 2117 } 2118 } 2119 } 2120 } 2121 err2: (_|_){ 2122 // [eval] 2123 x: (_|_){ 2124 // [eval] 2125 y: (_|_){ 2126 // [eval] 2127 j: (_|_){ 2128 // [eval] patterns.nested.indirect.p1.err2.x.y.j: field not allowed: 2129 // ./embed.cue:322:12 2130 // ./embed.cue:323:7 2131 // ./embed.cue:326:7 2132 // ./embed.cue:330:10 2133 // ./embed.cue:331:16 2134 } 2135 } 2136 } 2137 } 2138 ok: (#struct){ 2139 x: (#struct){ 2140 y: (#struct){ 2141 k: (int){ 3 } 2142 } 2143 } 2144 } 2145 } 2146 p2: (_|_){ 2147 // [eval] 2148 #a: (#struct){ 2149 x: (#struct){ 2150 y: (#struct){ 2151 } 2152 } 2153 } 2154 X: (#struct){ 2155 x: (#struct){ 2156 y: (#struct){ 2157 } 2158 } 2159 } 2160 err1: (_|_){ 2161 // [eval] 2162 x: (_|_){ 2163 // [eval] 2164 y: (_|_){ 2165 // [eval] 2166 j: (_|_){ 2167 // [eval] patterns.nested.indirect.p2.err1.x.y.j: field not allowed: 2168 // ./embed.cue:322:12 2169 // ./embed.cue:338:8 2170 // ./embed.cue:339:7 2171 // ./embed.cue:341:10 2172 // ./embed.cue:342:16 2173 } 2174 } 2175 } 2176 } 2177 err2: (_|_){ 2178 // [eval] 2179 x: (_|_){ 2180 // [eval] 2181 y: (_|_){ 2182 // [eval] 2183 j: (_|_){ 2184 // [eval] patterns.nested.indirect.p2.err2.x.y.j: field not allowed: 2185 // ./embed.cue:322:12 2186 // ./embed.cue:338:8 2187 // ./embed.cue:339:7 2188 // ./embed.cue:344:10 2189 // ./embed.cue:345:16 2190 } 2191 } 2192 } 2193 } 2194 ok: (#struct){ 2195 x: (#struct){ 2196 y: (#struct){ 2197 k: (int){ 3 } 2198 } 2199 } 2200 } 2201 } 2202 p3: (_|_){ 2203 // [eval] 2204 X: (#struct){ 2205 x: (#struct){ 2206 y: (#struct){ 2207 } 2208 } 2209 } 2210 err1: (_|_){ 2211 // [eval] 2212 x: (_|_){ 2213 // [eval] 2214 y: (_|_){ 2215 // [eval] 2216 j: (_|_){ 2217 // [eval] patterns.nested.indirect.p3.err1.x.y.j: field not allowed: 2218 // ./embed.cue:322:12 2219 // ./embed.cue:323:7 2220 // ./embed.cue:352:7 2221 // ./embed.cue:354:10 2222 // ./embed.cue:355:16 2223 } 2224 } 2225 } 2226 } 2227 err2: (_|_){ 2228 // [eval] 2229 x: (_|_){ 2230 // [eval] 2231 y: (_|_){ 2232 // [eval] 2233 j: (_|_){ 2234 // [eval] patterns.nested.indirect.p3.err2.x.y.j: field not allowed: 2235 // ./embed.cue:322:12 2236 // ./embed.cue:323:7 2237 // ./embed.cue:352:7 2238 // ./embed.cue:357:10 2239 // ./embed.cue:358:16 2240 } 2241 } 2242 } 2243 } 2244 ok: (#struct){ 2245 x: (#struct){ 2246 y: (#struct){ 2247 k: (int){ 3 } 2248 } 2249 } 2250 } 2251 } 2252 p4: (_|_){ 2253 // [eval] 2254 #a: (#struct){ 2255 x: (#struct){ 2256 y: (#struct){ 2257 } 2258 } 2259 } 2260 X: (#struct){ 2261 x: (#struct){ 2262 y: (#struct){ 2263 } 2264 } 2265 } 2266 err1: (_|_){ 2267 // [eval] 2268 x: (_|_){ 2269 // [eval] 2270 y: (_|_){ 2271 // [eval] 2272 j: (_|_){ 2273 // [eval] patterns.nested.indirect.p4.err1.x.y.j: field not allowed: 2274 // ./embed.cue:322:12 2275 // ./embed.cue:365:8 2276 // ./embed.cue:366:7 2277 // ./embed.cue:369:10 2278 // ./embed.cue:370:16 2279 } 2280 } 2281 } 2282 } 2283 err2: (_|_){ 2284 // [eval] 2285 x: (_|_){ 2286 // [eval] 2287 y: (_|_){ 2288 // [eval] 2289 j: (_|_){ 2290 // [eval] patterns.nested.indirect.p4.err2.x.y.j: field not allowed: 2291 // ./embed.cue:322:12 2292 // ./embed.cue:365:8 2293 // ./embed.cue:366:7 2294 // ./embed.cue:372:10 2295 // ./embed.cue:373:16 2296 } 2297 } 2298 } 2299 } 2300 ok: (#struct){ 2301 x: (#struct){ 2302 y: (#struct){ 2303 k: (int){ 3 } 2304 } 2305 } 2306 } 2307 } 2308 } 2309 } 2310 } 2311 issue2241: (struct){ 2312 #close: (#struct){ 2313 } 2314 a: (#struct){ 2315 x: (struct){ 2316 q: (int){ 2 } 2317 } 2318 } 2319 b: (#struct){ 2320 x: (struct){ 2321 q: (int){ 2 } 2322 r: (int){ 4 } 2323 } 2324 } 2325 } 2326 #E: (#struct){ 2327 c: (int){ int } 2328 } 2329 #A: (#struct){ 2330 b: (int){ int } 2331 q: (#struct){ 2332 c: (int){ int } 2333 d: (int){ int } 2334 } 2335 } 2336 a: (_|_){ 2337 // [eval] 2338 b: (int){ 3 } 2339 q: (_|_){ 2340 // [eval] 2341 c: (int){ 2 } 2342 d: (int){ int } 2343 e: (_|_){ 2344 // [eval] a.q.e: field not allowed: 2345 // ./in.cue:1:5 2346 // ./in.cue:6:5 2347 // ./in.cue:7:3 2348 // ./in.cue:11:4 2349 // ./in.cue:15:3 2350 } 2351 } 2352 } 2353 issue852: (_|_){ 2354 // [eval] issue852.a.Foo: field not allowed: 2355 // ./in.cue:22:6 2356 // ./in.cue:26:5 2357 // ./in.cue:28:5 2358 #A: (#struct){ 2359 } 2360 a: (_|_){ 2361 // [eval] 2362 Foo: (_|_){ 2363 // [eval] issue852.a.Foo: field not allowed: 2364 // ./in.cue:22:6 2365 // ./in.cue:26:5 2366 // ./in.cue:28:5 2367 } 2368 } 2369 } 2370 dynamic: (struct){ 2371 #D: (#struct){ 2372 key: (string){ "foo" } 2373 foo: (int){ int } 2374 } 2375 d: (#struct){ 2376 key: (string){ "foo" } 2377 foo: (int){ 3 } 2378 } 2379 } 2380 issue3330: (struct){ 2381 let: (struct){ 2382 ok: (struct){ 2383 #struct: (#struct){ 2384 let empty#1 = (#struct){ 2385 } 2386 field: (#struct){ 2387 n: (int){ 3 } 2388 } 2389 } 2390 out: (#list){ 2391 0: (#struct){ 2392 let empty#1 = (#struct){ 2393 } 2394 field: (#struct){ 2395 n: (int){ 3 } 2396 } 2397 } 2398 } 2399 } 2400 } 2401 matthew: (struct){ 2402 ok1: (struct){ 2403 #struct: (#struct){ 2404 field: (#struct){ 2405 n: (int){ 3 } 2406 } 2407 g: (#struct){ 2408 } 2409 } 2410 out: (#struct){ 2411 field: (#struct){ 2412 n: (int){ 3 } 2413 } 2414 g: (#struct){ 2415 } 2416 } 2417 } 2418 ok2: (struct){ 2419 #struct: (#struct){ 2420 field: (#struct){ 2421 n: (int){ 3 } 2422 } 2423 g: (#struct){ 2424 } 2425 } 2426 out: (#struct){ 2427 field: (#struct){ 2428 n: (int){ 3 } 2429 } 2430 g: (#struct){ 2431 } 2432 } 2433 out2: (#struct){ 2434 field: (#struct){ 2435 n: (int){ 3 } 2436 } 2437 g: (#struct){ 2438 } 2439 } 2440 } 2441 } 2442 } 2443 issue3331: (struct){ 2444 original: (struct){ 2445 ok: (#list){ 2446 #A: (#struct){ 2447 let b#2 = (#struct){ 2448 } 2449 c: (#struct){ 2450 d: (int){ 1 } 2451 } 2452 } 2453 0: (#struct){ 2454 let b#2 = (#struct){ 2455 } 2456 c: (#struct){ 2457 d: (int){ 1 } 2458 } 2459 } 2460 } 2461 } 2462 variant1: (struct){ 2463 ok: (#list){ 2464 #A: (#struct){ 2465 let b#3 = (#struct){ 2466 } 2467 c: (#struct){ 2468 d: (int){ 1 } 2469 } 2470 } 2471 0: (#list){ 2472 0: (#struct){ 2473 let b#3 = (#struct){ 2474 } 2475 c: (#struct){ 2476 d: (int){ 1 } 2477 } 2478 } 2479 } 2480 } 2481 } 2482 } 2483 indirect: (_|_){ 2484 // [eval] 2485 embed: (struct){ 2486 err1: (struct){ 2487 #A: (#struct){ 2488 x: (#struct){ 2489 a: (#struct){ 2490 b: (int){ 1 } 2491 c: (int){ 2 } 2492 } 2493 } 2494 zx: (#struct){ 2495 b: (int){ 1 } 2496 c: (int){ 2 } 2497 } 2498 } 2499 #x: (#struct){ 2500 a: (#struct){ 2501 b: (int){ 1 } 2502 } 2503 } 2504 #y: (#struct){ 2505 a: (#struct){ 2506 c: (int){ 2 } 2507 } 2508 } 2509 b: (#struct){ 2510 x: (#struct){ 2511 a: (#struct){ 2512 b: (int){ 1 } 2513 c: (int){ 2 } 2514 } 2515 } 2516 zx: (#struct){ 2517 b: (int){ 1 } 2518 c: (int){ 2 } 2519 } 2520 } 2521 b1: (struct){ 2522 b: (int){ 1 } 2523 c: (int){ 2 } 2524 d: (int){ 1 } 2525 } 2526 } 2527 } 2528 closed: (_|_){ 2529 // [eval] 2530 err1: (_|_){ 2531 // [eval] 2532 X: (struct){ 2533 a: (struct){ 2534 e: (int){ 1 } 2535 } 2536 b: (struct){ 2537 } 2538 } 2539 Y: (_|_){ 2540 // [eval] 2541 a: (_|_){ 2542 // [eval] 2543 e: (_|_){ 2544 // [eval] indirect.closed.err1.Y.a.e: field not allowed: 2545 // ./reroot.cue:73:7 2546 // ./reroot.cue:74:7 2547 // ./reroot.cue:75:7 2548 // ./reroot.cue:77:6 2549 // ./reroot.cue:79:7 2550 // ./reroot.cue:80:7 2551 // ./reroot.cue:82:7 2552 } 2553 } 2554 b: (#struct){ 2555 } 2556 c: (#struct){ 2557 } 2558 } 2559 #X: (#struct){ 2560 } 2561 } 2562 } 2563 } 2564 nested: (_|_){ 2565 // [eval] 2566 ok1: (struct){ 2567 #A: (#struct){ 2568 b: (#struct){ 2569 } 2570 #B: (#struct){ 2571 c: (#struct){ 2572 d: (int){ 1 } 2573 } 2574 } 2575 } 2576 x: (#struct){ 2577 b: (#struct){ 2578 } 2579 #B: (#struct){ 2580 c: (#struct){ 2581 d: (int){ 1 } 2582 } 2583 } 2584 } 2585 } 2586 embed: (struct){ 2587 ok: (struct){ 2588 x: (#struct){ 2589 d: (#struct){ 2590 e: (int){ int } 2591 } 2592 b: (#struct){ 2593 } 2594 } 2595 #A: (#struct){ 2596 d: (#struct){ 2597 e: (int){ int } 2598 } 2599 b: (#struct){ 2600 } 2601 } 2602 k: (struct){ 2603 d: (struct){ 2604 e: (int){ int } 2605 } 2606 b: (struct){ 2607 } 2608 } 2609 } 2610 } 2611 err1: (_|_){ 2612 // [eval] 2613 x: (_|_){ 2614 // [eval] 2615 b: (_|_){ 2616 // [eval] 2617 f: (_|_){ 2618 // [eval] nested.err1.x.b.f: field not allowed: 2619 // ./reroot.cue:112:5 2620 // ./reroot.cue:114:6 2621 // ./reroot.cue:122:8 2622 // ./reroot.cue:123:6 2623 } 2624 g: (_|_){ 2625 // [eval] nested.err1.x.b.g: field not allowed: 2626 // ./reroot.cue:112:5 2627 // ./reroot.cue:114:6 2628 // ./reroot.cue:122:8 2629 // ./reroot.cue:123:6 2630 } 2631 } 2632 v: (_|_){ 2633 // [eval] 2634 c: (_|_){ 2635 // [eval] 2636 f: (_|_){ 2637 // [eval] nested.err1.x.v.c.f: field not allowed: 2638 // ./reroot.cue:112:5 2639 // ./reroot.cue:114:6 2640 // ./reroot.cue:115:6 2641 // ./reroot.cue:117:7 2642 // ./reroot.cue:117:11 2643 // ./reroot.cue:122:8 2644 // ./reroot.cue:123:6 2645 } 2646 g: (int){ 1 } 2647 d: (_|_){ 2648 // [eval] nested.err1.x.v.c.d: field not allowed: 2649 // ./reroot.cue:112:5 2650 // ./reroot.cue:114:6 2651 // ./reroot.cue:115:6 2652 // ./reroot.cue:117:7 2653 // ./reroot.cue:118:5 2654 // ./reroot.cue:122:8 2655 // ./reroot.cue:123:6 2656 } 2657 } 2658 } 2659 #V: (_|_){ 2660 // [eval] 2661 c: (_|_){ 2662 // [eval] 2663 f: (_|_){ 2664 // [eval] nested.err1.x.#V.c.f: field not allowed: 2665 // ./reroot.cue:112:5 2666 // ./reroot.cue:114:6 2667 // ./reroot.cue:117:7 2668 // ./reroot.cue:117:11 2669 // ./reroot.cue:122:8 2670 // ./reroot.cue:123:6 2671 } 2672 g: (int){ 1 } 2673 d: (_|_){ 2674 // [eval] nested.err1.x.#V.c.d: field not allowed: 2675 // ./reroot.cue:112:5 2676 // ./reroot.cue:114:6 2677 // ./reroot.cue:117:7 2678 // ./reroot.cue:118:5 2679 // ./reroot.cue:122:8 2680 // ./reroot.cue:123:6 2681 } 2682 } 2683 } 2684 } 2685 #A: (#struct){ 2686 b: (#struct){ 2687 f: (int){ 1 } 2688 } 2689 v: (#struct){ 2690 c: (#struct){ 2691 f: (int){ 1 } 2692 d: (int){ 1 } 2693 } 2694 } 2695 #V: (#struct){ 2696 c: (#struct){ 2697 f: (int){ 1 } 2698 d: (int){ 1 } 2699 } 2700 } 2701 } 2702 #B: (#struct){ 2703 g: (int){ 1 } 2704 } 2705 } 2706 err2: (_|_){ 2707 // [eval] 2708 #A: (#struct){ 2709 b: (#struct){ 2710 } 2711 c: (#struct){ 2712 d: (int){ 1 } 2713 } 2714 } 2715 x: (_|_){ 2716 // [eval] 2717 b: (_|_){ 2718 // [eval] 2719 g: (_|_){ 2720 // [eval] nested.err2.x.b.g: field not allowed: 2721 // ./reroot.cue:128:6 2722 // ./reroot.cue:136:5 2723 // ./reroot.cue:137:8 2724 } 2725 } 2726 c: (#struct){ 2727 g: (int){ 1 } 2728 d: (int){ 1 } 2729 } 2730 } 2731 } 2732 } 2733 inline: (struct){ 2734 #x: (#struct){ 2735 y: (#struct){ 2736 z?: (#struct){ 2737 name: (string){ string } 2738 } 2739 } 2740 } 2741 err1: (struct){ 2742 name: (string){ "a" } 2743 age1: (int){ 5 } 2744 } 2745 err2: (struct){ 2746 name: (string){ "a" } 2747 age2: (int){ 5 } 2748 } 2749 } 2750 mixInDef: (struct){ 2751 refInside: (struct){ 2752 #x: (#struct){ 2753 b: (#struct){ 2754 c: (#struct){ 2755 d: (#struct){ 2756 } 2757 e: (#struct){ 2758 f: (#struct){ 2759 } 2760 } 2761 } 2762 } 2763 } 2764 a: (#struct){ 2765 b: (#struct){ 2766 c: (#struct){ 2767 d: (#struct){ 2768 } 2769 e: (#struct){ 2770 f: (#struct){ 2771 } 2772 } 2773 } 2774 } 2775 } 2776 } 2777 refEdge: (struct){ 2778 #x: (#struct){ 2779 c: (#struct){ 2780 d: (#struct){ 2781 } 2782 e: (#struct){ 2783 f: (#struct){ 2784 } 2785 } 2786 } 2787 } 2788 a: (#struct){ 2789 c: (#struct){ 2790 d: (#struct){ 2791 } 2792 e: (#struct){ 2793 f: (#struct){ 2794 } 2795 } 2796 } 2797 } 2798 } 2799 refOutside: (struct){ 2800 #x: (#struct){ 2801 c: (#struct){ 2802 d: (#struct){ 2803 } 2804 e: (#struct){ 2805 f: (#struct){ 2806 } 2807 } 2808 } 2809 } 2810 a: (#struct){ 2811 c: (#struct){ 2812 d: (#struct){ 2813 } 2814 e: (#struct){ 2815 f: (#struct){ 2816 } 2817 } 2818 } 2819 } 2820 } 2821 } 2822 issue3601: (struct){ 2823 original: (struct){ 2824 out: (#struct){ 2825 foo: (#struct){ 2826 final: (#struct){ 2827 version: (string){ "v1" } 2828 } 2829 } 2830 } 2831 #Transform: (#struct){ 2832 output: (#struct){ 2833 foo: (#struct){ 2834 final: (#struct){ 2835 version: (string){ "v1" } 2836 } 2837 } 2838 } 2839 } 2840 #Patch: (#struct){ 2841 target: (#struct){ 2842 } 2843 output: (#struct){ 2844 foo: (#struct){ 2845 final: (#struct){ 2846 version: (string){ "v1" } 2847 } 2848 } 2849 } 2850 } 2851 } 2852 originalNoShare: (struct){ 2853 out: (#struct){ 2854 foo: (#struct){ 2855 final: (#struct){ 2856 version: (string){ "v1" } 2857 } 2858 } 2859 } 2860 #Transform: (#struct){ 2861 output: (#struct){ 2862 foo: (#struct){ 2863 final: (#struct){ 2864 version: (string){ "v1" } 2865 } 2866 } 2867 } 2868 } 2869 #Patch: (#struct){ 2870 target: (#struct){ 2871 } 2872 output: (#struct){ 2873 foo: (#struct){ 2874 final: (#struct){ 2875 version: (string){ "v1" } 2876 } 2877 } 2878 } 2879 } 2880 } 2881 reduced: (struct){ 2882 #X: (#struct){ 2883 a: (#struct){ 2884 b: (#struct){ 2885 c: (string){ "v1" } 2886 } 2887 } 2888 empty: (#struct){ 2889 } 2890 } 2891 original: (struct){ 2892 Y: (struct){ 2893 b: (struct){ 2894 c: (string){ "v1" } 2895 } 2896 } 2897 out: (struct){ 2898 b: (struct){ 2899 c: (string){ "v1" } 2900 } 2901 } 2902 } 2903 moreInlining: (struct){ 2904 out: (struct){ 2905 b: (struct){ 2906 c: (string){ "v1" } 2907 } 2908 } 2909 } 2910 noInline: (struct){ 2911 Y: (#struct){ 2912 a: (#struct){ 2913 b: (#struct){ 2914 c: (string){ "v1" } 2915 } 2916 } 2917 empty: (#struct){ 2918 } 2919 } 2920 Z: (#struct){ 2921 a: (#struct){ 2922 b: (#struct){ 2923 c: (string){ "v1" } 2924 } 2925 } 2926 empty: (#struct){ 2927 } 2928 } 2929 out: (struct){ 2930 b: (struct){ 2931 c: (string){ "v1" } 2932 } 2933 } 2934 } 2935 moreNesting: (struct){ 2936 #X: (#struct){ 2937 a: (#struct){ 2938 b: (#struct){ 2939 c: (#struct){ 2940 d: (string){ "v1" } 2941 } 2942 } 2943 } 2944 empty: (#struct){ 2945 } 2946 } 2947 Y: (struct){ 2948 c: (struct){ 2949 d: (string){ "v1" } 2950 } 2951 } 2952 Z: (struct){ 2953 c: (struct){ 2954 d: (string){ "v1" } 2955 } 2956 } 2957 } 2958 } 2959 } 2960 issue3332: (struct){ 2961 #def: (#struct){ 2962 field: (list){ list.MinItems(1) } 2963 } 2964 use: (#struct){ 2965 field: (#list){ 2966 0: (string){ "value" } 2967 } 2968 } 2969 } 2970 } 2971 -- out/evalalpha -- 2972 Errors: 2973 a.q.e: field not allowed: 2974 ./in.cue:15:3 2975 indirect.closed.err1.Y.a.e: field not allowed: 2976 ./reroot.cue:75:7 2977 issue1867.one.x.foo: field not allowed: 2978 ./ellipsis.cue:23:5 2979 issue1867.three.x.foo: field not allowed: 2980 ./ellipsis.cue:37:5 2981 issue1867.two.x.foo: field not allowed: 2982 ./ellipsis.cue:30:5 2983 issue2241.b.x.r: field not allowed: 2984 ./embed.cue:390:8 2985 issue3778.full.z.b: field not allowed: 2986 ./ellipsis.cue:6:3 2987 issue3924.one.out.foo.disallowed: field not allowed: 2988 ./ellipsis.cue:46:23 2989 issue852.a.Foo: field not allowed: 2990 ./in.cue:28:5 2991 nested.err1.x.#V.c.d: field not allowed: 2992 ./reroot.cue:118:5 2993 nested.err1.x.#V.c.f: field not allowed: 2994 ./reroot.cue:114:6 2995 nested.err1.x.b.f: field not allowed: 2996 ./reroot.cue:114:6 2997 nested.err1.x.b.g: field not allowed: 2998 ./reroot.cue:123:6 2999 nested.err2.x.b.g: field not allowed: 3000 ./reroot.cue:137:8 3001 patterns.nested.and.p1.err.x.y.j: field not allowed: 3002 ./embed.cue:207:12 3003 ./embed.cue:224:14 3004 patterns.nested.and.p2.err.x.y.j: field not allowed: 3005 ./embed.cue:207:12 3006 ./embed.cue:233:14 3007 patterns.nested.andEmbed.p1.err.x.y.j: field not allowed: 3008 ./embed.cue:207:12 3009 ./embed.cue:243:14 3010 patterns.nested.andEmbed.p2.err.x.y.j: field not allowed: 3011 ./embed.cue:207:12 3012 ./embed.cue:252:14 3013 patterns.nested.indirect.p1.err1.x.y.j: field not allowed: 3014 ./embed.cue:328:16 3015 patterns.nested.indirect.p1.err2.x.y.j: field not allowed: 3016 ./embed.cue:331:16 3017 patterns.nested.indirect.p2.err1.x.y.j: field not allowed: 3018 ./embed.cue:342:16 3019 patterns.nested.indirect.p2.err2.x.y.j: field not allowed: 3020 ./embed.cue:345:16 3021 patterns.nested.indirect.p3.err1.x.y.j: field not allowed: 3022 ./embed.cue:355:16 3023 patterns.nested.indirect.p3.err2.x.y.j: field not allowed: 3024 ./embed.cue:358:16 3025 patterns.nested.indirect.p4.err1.x.y.j: field not allowed: 3026 ./embed.cue:370:16 3027 patterns.nested.indirect.p4.err2.x.y.j: field not allowed: 3028 ./embed.cue:373:16 3029 patterns.nested.single.err.x.y.j: field not allowed: 3030 ./embed.cue:214:14 3031 patterns.shallow.and.p1.err.j: field not allowed: 3032 ./embed.cue:31:6 3033 ./embed.cue:48:8 3034 patterns.shallow.and.p2.err.j: field not allowed: 3035 ./embed.cue:31:6 3036 ./embed.cue:57:8 3037 patterns.shallow.andEmbed.p1.err.j: field not allowed: 3038 ./embed.cue:31:6 3039 ./embed.cue:67:8 3040 patterns.shallow.andEmbed.p2.err.j: field not allowed: 3041 ./embed.cue:31:6 3042 ./embed.cue:76:8 3043 patterns.shallow.indirect.p1.err1.j: field not allowed: 3044 ./embed.cue:152:10 3045 patterns.shallow.indirect.p1.err2.j: field not allowed: 3046 ./embed.cue:155:10 3047 patterns.shallow.indirect.p2.err1.j: field not allowed: 3048 ./embed.cue:166:10 3049 patterns.shallow.indirect.p2.err2.j: field not allowed: 3050 ./embed.cue:169:10 3051 patterns.shallow.indirect.p3.err1.j: field not allowed: 3052 ./embed.cue:179:10 3053 patterns.shallow.indirect.p3.err2.j: field not allowed: 3054 ./embed.cue:182:10 3055 patterns.shallow.indirect.p4.err1.j: field not allowed: 3056 ./embed.cue:194:10 3057 patterns.shallow.indirect.p4.err2.j: field not allowed: 3058 ./embed.cue:197:10 3059 patterns.shallow.single.err.j: field not allowed: 3060 ./embed.cue:38:8 3061 issue3924.two.out.foo.disallowed: field not allowed: 3062 ./ellipsis.cue:52:9 3063 ./ellipsis.cue:59:23 3064 3065 Result: 3066 (_|_){ 3067 // [eval] 3068 issue3778: (_|_){ 3069 // [eval] 3070 full: (_|_){ 3071 // [eval] 3072 #x: (#struct){ 3073 a?: (string){ string } 3074 } 3075 #y: (#struct){ 3076 a?: (string){ string } 3077 } 3078 z: (_|_){ 3079 // [eval] 3080 a: (string){ "ok" } 3081 b: (_|_){ 3082 // [eval] issue3778.full.z.b: field not allowed: 3083 // ./ellipsis.cue:6:3 3084 } 3085 } 3086 } 3087 keepOpen: (struct){ 3088 #x: (#struct){ 3089 a?: (string){ string } 3090 } 3091 #y: (#struct){ 3092 a?: (string){ string } 3093 } 3094 z: (#struct){ 3095 a: (string){ "ok" } 3096 b: (string){ "something" } 3097 } 3098 } 3099 } 3100 issue1867: (_|_){ 3101 // [eval] 3102 one: (_|_){ 3103 // [eval] 3104 #T: (#struct){ 3105 } 3106 x: (_|_){ 3107 // [eval] 3108 foo: (_|_){ 3109 // [eval] issue1867.one.x.foo: field not allowed: 3110 // ./ellipsis.cue:23:5 3111 } 3112 } 3113 } 3114 two: (_|_){ 3115 // [eval] 3116 #S: (#struct){ 3117 } 3118 #T: (#struct){ 3119 s: (#struct){ 3120 } 3121 } 3122 x: (_|_){ 3123 // [eval] 3124 foo: (_|_){ 3125 // [eval] issue1867.two.x.foo: field not allowed: 3126 // ./ellipsis.cue:30:5 3127 } 3128 } 3129 } 3130 three: (_|_){ 3131 // [eval] 3132 #T: (#struct){ 3133 s: (#struct){ 3134 } 3135 } 3136 x: (_|_){ 3137 // [eval] 3138 foo: (_|_){ 3139 // [eval] issue1867.three.x.foo: field not allowed: 3140 // ./ellipsis.cue:37:5 3141 } 3142 } 3143 } 3144 } 3145 issue3924: (_|_){ 3146 // [eval] 3147 one: (_|_){ 3148 // [eval] 3149 #Schema: (#struct){ 3150 } 3151 #SchemaInner: (#struct){ 3152 allowed?: (string){ string } 3153 } 3154 out: (_|_){ 3155 // [eval] 3156 foo: (_|_){ 3157 // [eval] 3158 disallowed: (_|_){ 3159 // [eval] issue3924.one.out.foo.disallowed: field not allowed: 3160 // ./ellipsis.cue:46:23 3161 } 3162 allowed?: (string){ string } 3163 } 3164 } 3165 } 3166 two: (_|_){ 3167 // [eval] 3168 #Schema: (#struct){ 3169 #job: (#struct){ 3170 allowed?: (string){ string } 3171 } 3172 } 3173 out: (_|_){ 3174 // [eval] 3175 foo: (_|_){ 3176 // [eval] issue3924.two.out.foo.disallowed: field not allowed: 3177 // ./ellipsis.cue:52:9 3178 // ./ellipsis.cue:59:23 3179 disallowed: (_|_){ 3180 // [eval] issue3924.two.out.foo.disallowed: field not allowed: 3181 // ./ellipsis.cue:52:9 3182 // ./ellipsis.cue:59:23 3183 } 3184 allowed?: (string){ string } 3185 } 3186 #job: (#struct){ 3187 allowed?: (string){ string } 3188 } 3189 } 3190 } 3191 } 3192 issue3325: (struct){ 3193 ok: (struct){ 3194 #Items: (#struct){ 3195 } 3196 #Base: (#struct){ 3197 name: (string){ "base" } 3198 type: (string){ string } 3199 items: (#struct){ 3200 } 3201 } 3202 #Extended: (#struct){ 3203 type: (string){ "extended" } 3204 items: (#struct){ 3205 "my-item": (#struct){ 3206 name: (string){ "my-item" } 3207 } 3208 } 3209 name: (string){ "base" } 3210 } 3211 broken: (#struct){ 3212 name: (string){ "base" } 3213 type: (string){ "extended" } 3214 items: (#struct){ 3215 "my-item": (#struct){ 3216 name: (string){ "my-item" } 3217 } 3218 } 3219 } 3220 works: (#struct){ 3221 type: (string){ "extended" } 3222 items: (#struct){ 3223 "my-item": (#struct){ 3224 name: (string){ "my-item" } 3225 } 3226 } 3227 name: (string){ "base" } 3228 } 3229 } 3230 } 3231 patterns: (_|_){ 3232 // [eval] 3233 shallow: (_|_){ 3234 // [eval] 3235 #a: (#struct){ 3236 } 3237 #b: (#struct){ 3238 } 3239 #c: (#struct){ 3240 } 3241 #d: (#struct){ 3242 } 3243 single: (_|_){ 3244 // [eval] 3245 X: (#struct){ 3246 } 3247 err: (_|_){ 3248 // [eval] 3249 j: (_|_){ 3250 // [eval] patterns.shallow.single.err.j: field not allowed: 3251 // ./embed.cue:38:8 3252 } 3253 } 3254 ok: (#struct){ 3255 k: (int){ 3 } 3256 } 3257 } 3258 and: (_|_){ 3259 // [eval] 3260 p1: (_|_){ 3261 // [eval] 3262 X: (#struct){ 3263 } 3264 err: (_|_){ 3265 // [eval] 3266 j: (_|_){ 3267 // [eval] patterns.shallow.and.p1.err.j: field not allowed: 3268 // ./embed.cue:31:6 3269 // ./embed.cue:48:8 3270 } 3271 } 3272 ok: (#struct){ 3273 k: (int){ 3 } 3274 } 3275 } 3276 p2: (_|_){ 3277 // [eval] 3278 X: (#struct){ 3279 } 3280 err: (_|_){ 3281 // [eval] 3282 j: (_|_){ 3283 // [eval] patterns.shallow.and.p2.err.j: field not allowed: 3284 // ./embed.cue:31:6 3285 // ./embed.cue:57:8 3286 } 3287 } 3288 ok: (#struct){ 3289 k: (int){ 3 } 3290 } 3291 } 3292 } 3293 andEmbed: (_|_){ 3294 // [eval] 3295 p1: (_|_){ 3296 // [eval] 3297 X: (#struct){ 3298 } 3299 err: (_|_){ 3300 // [eval] 3301 j: (_|_){ 3302 // [eval] patterns.shallow.andEmbed.p1.err.j: field not allowed: 3303 // ./embed.cue:31:6 3304 // ./embed.cue:67:8 3305 } 3306 } 3307 ok: (#struct){ 3308 k: (int){ 3 } 3309 } 3310 } 3311 p2: (_|_){ 3312 // [eval] 3313 X: (#struct){ 3314 } 3315 err: (_|_){ 3316 // [eval] 3317 j: (_|_){ 3318 // [eval] patterns.shallow.andEmbed.p2.err.j: field not allowed: 3319 // ./embed.cue:31:6 3320 // ./embed.cue:76:8 3321 } 3322 } 3323 ok: (#struct){ 3324 k: (int){ 3 } 3325 } 3326 } 3327 } 3328 orEmbed: (struct){ 3329 p1: (struct){ 3330 X: (#struct){ 3331 } 3332 ok1: (#struct){ 3333 j: (int){ 3 } 3334 } 3335 ok2: (#struct){ 3336 k: (int){ 3 } 3337 } 3338 } 3339 p2: (struct){ 3340 X: (#struct){ 3341 } 3342 ok1: (#struct){ 3343 j: (int){ 3 } 3344 } 3345 ok2: (#struct){ 3346 k: (int){ 3 } 3347 } 3348 } 3349 } 3350 andOrEmbed: (struct){ 3351 t1: (struct){ 3352 p1: (struct){ 3353 X: (#struct){ 3354 } 3355 err1: (#struct){ 3356 j: (int){ 3 } 3357 } 3358 ok1: (#struct){ 3359 k: (int){ 3 } 3360 } 3361 } 3362 p2: (struct){ 3363 X: (#struct){ 3364 } 3365 err1: (#struct){ 3366 j: (int){ 3 } 3367 } 3368 ok1: (#struct){ 3369 k: (int){ 3 } 3370 } 3371 } 3372 } 3373 t2: (struct){ 3374 X: (#struct){ 3375 } 3376 err1: (#struct){ 3377 j: (int){ 3 } 3378 } 3379 ok1: (#struct){ 3380 k: (int){ 3 } 3381 } 3382 ok2: (#struct){ 3383 p: (int){ 3 } 3384 } 3385 } 3386 } 3387 indirect: (_|_){ 3388 // [eval] 3389 a: (struct){ 3390 } 3391 #a: (#struct){ 3392 } 3393 p1: (_|_){ 3394 // [eval] 3395 X: (#struct){ 3396 } 3397 err1: (_|_){ 3398 // [eval] 3399 j: (_|_){ 3400 // [eval] patterns.shallow.indirect.p1.err1.j: field not allowed: 3401 // ./embed.cue:152:10 3402 } 3403 } 3404 err2: (_|_){ 3405 // [eval] 3406 j: (_|_){ 3407 // [eval] patterns.shallow.indirect.p1.err2.j: field not allowed: 3408 // ./embed.cue:155:10 3409 } 3410 } 3411 ok: (#struct){ 3412 k: (int){ 3 } 3413 } 3414 } 3415 p2: (_|_){ 3416 // [eval] 3417 #a: (#struct){ 3418 } 3419 X: (#struct){ 3420 } 3421 err1: (_|_){ 3422 // [eval] 3423 j: (_|_){ 3424 // [eval] patterns.shallow.indirect.p2.err1.j: field not allowed: 3425 // ./embed.cue:166:10 3426 } 3427 } 3428 err2: (_|_){ 3429 // [eval] 3430 j: (_|_){ 3431 // [eval] patterns.shallow.indirect.p2.err2.j: field not allowed: 3432 // ./embed.cue:169:10 3433 } 3434 } 3435 ok: (#struct){ 3436 k: (int){ 3 } 3437 } 3438 } 3439 p3: (_|_){ 3440 // [eval] 3441 X: (#struct){ 3442 } 3443 err1: (_|_){ 3444 // [eval] 3445 j: (_|_){ 3446 // [eval] patterns.shallow.indirect.p3.err1.j: field not allowed: 3447 // ./embed.cue:179:10 3448 } 3449 } 3450 err2: (_|_){ 3451 // [eval] 3452 j: (_|_){ 3453 // [eval] patterns.shallow.indirect.p3.err2.j: field not allowed: 3454 // ./embed.cue:182:10 3455 } 3456 } 3457 ok: (#struct){ 3458 k: (int){ 3 } 3459 } 3460 } 3461 p4: (_|_){ 3462 // [eval] 3463 #a: (#struct){ 3464 } 3465 X: (#struct){ 3466 } 3467 err1: (_|_){ 3468 // [eval] 3469 j: (_|_){ 3470 // [eval] patterns.shallow.indirect.p4.err1.j: field not allowed: 3471 // ./embed.cue:194:10 3472 } 3473 } 3474 err2: (_|_){ 3475 // [eval] 3476 j: (_|_){ 3477 // [eval] patterns.shallow.indirect.p4.err2.j: field not allowed: 3478 // ./embed.cue:197:10 3479 } 3480 } 3481 ok: (#struct){ 3482 k: (int){ 3 } 3483 } 3484 } 3485 } 3486 } 3487 nested: (_|_){ 3488 // [eval] 3489 #a: (#struct){ 3490 x: (#struct){ 3491 y: (#struct){ 3492 } 3493 } 3494 } 3495 #b: (#struct){ 3496 x: (#struct){ 3497 y: (#struct){ 3498 } 3499 } 3500 } 3501 #c: (#struct){ 3502 x: (#struct){ 3503 y: (#struct){ 3504 } 3505 } 3506 } 3507 #d: (#struct){ 3508 x: (#struct){ 3509 y: (#struct){ 3510 } 3511 } 3512 } 3513 single: (_|_){ 3514 // [eval] 3515 X: ~(patterns.nested.#a) 3516 err: (_|_){ 3517 // [eval] 3518 x: (_|_){ 3519 // [eval] 3520 y: (_|_){ 3521 // [eval] 3522 j: (_|_){ 3523 // [eval] patterns.nested.single.err.x.y.j: field not allowed: 3524 // ./embed.cue:214:14 3525 } 3526 } 3527 } 3528 } 3529 ok: (#struct){ 3530 x: (#struct){ 3531 y: (#struct){ 3532 k: (int){ 3 } 3533 } 3534 } 3535 } 3536 } 3537 and: (_|_){ 3538 // [eval] 3539 p1: (_|_){ 3540 // [eval] 3541 X: (#struct){ 3542 x: (#struct){ 3543 y: (#struct){ 3544 } 3545 } 3546 } 3547 err: (_|_){ 3548 // [eval] 3549 x: (_|_){ 3550 // [eval] 3551 y: (_|_){ 3552 // [eval] 3553 j: (_|_){ 3554 // [eval] patterns.nested.and.p1.err.x.y.j: field not allowed: 3555 // ./embed.cue:207:12 3556 // ./embed.cue:224:14 3557 } 3558 } 3559 } 3560 } 3561 ok: (#struct){ 3562 x: (#struct){ 3563 y: (#struct){ 3564 k: (int){ 3 } 3565 } 3566 } 3567 } 3568 } 3569 p2: (_|_){ 3570 // [eval] 3571 X: (#struct){ 3572 x: (#struct){ 3573 y: (#struct){ 3574 } 3575 } 3576 } 3577 err: (_|_){ 3578 // [eval] 3579 x: (_|_){ 3580 // [eval] 3581 y: (_|_){ 3582 // [eval] 3583 j: (_|_){ 3584 // [eval] patterns.nested.and.p2.err.x.y.j: field not allowed: 3585 // ./embed.cue:207:12 3586 // ./embed.cue:233:14 3587 } 3588 } 3589 } 3590 } 3591 ok: (#struct){ 3592 x: (#struct){ 3593 y: (#struct){ 3594 k: (int){ 3 } 3595 } 3596 } 3597 } 3598 } 3599 } 3600 andEmbed: (_|_){ 3601 // [eval] 3602 p1: (_|_){ 3603 // [eval] 3604 X: (#struct){ 3605 x: (#struct){ 3606 y: (#struct){ 3607 } 3608 } 3609 } 3610 err: (_|_){ 3611 // [eval] 3612 x: (_|_){ 3613 // [eval] 3614 y: (_|_){ 3615 // [eval] 3616 j: (_|_){ 3617 // [eval] patterns.nested.andEmbed.p1.err.x.y.j: field not allowed: 3618 // ./embed.cue:207:12 3619 // ./embed.cue:243:14 3620 } 3621 } 3622 } 3623 } 3624 ok: (#struct){ 3625 x: (#struct){ 3626 y: (#struct){ 3627 k: (int){ 3 } 3628 } 3629 } 3630 } 3631 } 3632 p2: (_|_){ 3633 // [eval] 3634 X: (#struct){ 3635 x: (#struct){ 3636 y: (#struct){ 3637 } 3638 } 3639 } 3640 err: (_|_){ 3641 // [eval] 3642 x: (_|_){ 3643 // [eval] 3644 y: (_|_){ 3645 // [eval] 3646 j: (_|_){ 3647 // [eval] patterns.nested.andEmbed.p2.err.x.y.j: field not allowed: 3648 // ./embed.cue:207:12 3649 // ./embed.cue:252:14 3650 } 3651 } 3652 } 3653 } 3654 ok: (#struct){ 3655 x: (#struct){ 3656 y: (#struct){ 3657 k: (int){ 3 } 3658 } 3659 } 3660 } 3661 } 3662 } 3663 orEmbed: (struct){ 3664 p1: (struct){ 3665 X: (#struct){ 3666 x: (#struct){ 3667 y: (#struct){ 3668 } 3669 } 3670 } 3671 ok1: (#struct){ 3672 x: (#struct){ 3673 y: (#struct){ 3674 j: (int){ 3 } 3675 } 3676 } 3677 } 3678 ok2: (#struct){ 3679 x: (#struct){ 3680 y: (#struct){ 3681 k: (int){ 3 } 3682 } 3683 } 3684 } 3685 } 3686 p2: (struct){ 3687 X: (#struct){ 3688 x: (#struct){ 3689 y: (#struct){ 3690 } 3691 } 3692 } 3693 ok1: (#struct){ 3694 x: (#struct){ 3695 y: (#struct){ 3696 j: (int){ 3 } 3697 } 3698 } 3699 } 3700 ok2: (#struct){ 3701 x: (#struct){ 3702 y: (#struct){ 3703 k: (int){ 3 } 3704 } 3705 } 3706 } 3707 } 3708 } 3709 andOrEmbed: (struct){ 3710 t1: (struct){ 3711 p1: (struct){ 3712 X: (#struct){ 3713 x: (#struct){ 3714 y: (#struct){ 3715 } 3716 } 3717 } 3718 err1: (#struct){ 3719 x: (#struct){ 3720 y: (#struct){ 3721 j: (int){ 3 } 3722 } 3723 } 3724 } 3725 ok1: (#struct){ 3726 x: (#struct){ 3727 y: (#struct){ 3728 k: (int){ 3 } 3729 } 3730 } 3731 } 3732 } 3733 p2: (struct){ 3734 X: (#struct){ 3735 x: (#struct){ 3736 y: (#struct){ 3737 } 3738 } 3739 } 3740 err1: (#struct){ 3741 x: (#struct){ 3742 y: (#struct){ 3743 j: (int){ 3 } 3744 } 3745 } 3746 } 3747 ok1: (#struct){ 3748 x: (#struct){ 3749 y: (#struct){ 3750 k: (int){ 3 } 3751 } 3752 } 3753 } 3754 } 3755 } 3756 t2: (struct){ 3757 X: (#struct){ 3758 x: (#struct){ 3759 y: (#struct){ 3760 } 3761 } 3762 } 3763 err1: (#struct){ 3764 x: (#struct){ 3765 y: (#struct){ 3766 j: (int){ 3 } 3767 } 3768 } 3769 } 3770 ok1: (#struct){ 3771 x: (#struct){ 3772 y: (#struct){ 3773 k: (int){ 3 } 3774 } 3775 } 3776 } 3777 ok2: (#struct){ 3778 x: (#struct){ 3779 y: (#struct){ 3780 p: (int){ 3 } 3781 } 3782 } 3783 } 3784 } 3785 } 3786 indirect: (_|_){ 3787 // [eval] 3788 a: (struct){ 3789 x: (struct){ 3790 y: (struct){ 3791 } 3792 } 3793 } 3794 #a: (#struct){ 3795 x: (#struct){ 3796 y: (#struct){ 3797 } 3798 } 3799 } 3800 p1: (_|_){ 3801 // [eval] 3802 X: ~(patterns.nested.indirect.#a) 3803 err1: (_|_){ 3804 // [eval] 3805 x: (_|_){ 3806 // [eval] 3807 y: (_|_){ 3808 // [eval] 3809 j: (_|_){ 3810 // [eval] patterns.nested.indirect.p1.err1.x.y.j: field not allowed: 3811 // ./embed.cue:328:16 3812 } 3813 } 3814 } 3815 } 3816 err2: (_|_){ 3817 // [eval] 3818 x: (_|_){ 3819 // [eval] 3820 y: (_|_){ 3821 // [eval] 3822 j: (_|_){ 3823 // [eval] patterns.nested.indirect.p1.err2.x.y.j: field not allowed: 3824 // ./embed.cue:331:16 3825 } 3826 } 3827 } 3828 } 3829 ok: (#struct){ 3830 x: (#struct){ 3831 y: (#struct){ 3832 k: (int){ 3 } 3833 } 3834 } 3835 } 3836 } 3837 p2: (_|_){ 3838 // [eval] 3839 #a: (#struct){ 3840 x: (#struct){ 3841 y: (#struct){ 3842 } 3843 } 3844 } 3845 X: ~(patterns.nested.indirect.p2.#a) 3846 err1: (_|_){ 3847 // [eval] 3848 x: (_|_){ 3849 // [eval] 3850 y: (_|_){ 3851 // [eval] 3852 j: (_|_){ 3853 // [eval] patterns.nested.indirect.p2.err1.x.y.j: field not allowed: 3854 // ./embed.cue:342:16 3855 } 3856 } 3857 } 3858 } 3859 err2: (_|_){ 3860 // [eval] 3861 x: (_|_){ 3862 // [eval] 3863 y: (_|_){ 3864 // [eval] 3865 j: (_|_){ 3866 // [eval] patterns.nested.indirect.p2.err2.x.y.j: field not allowed: 3867 // ./embed.cue:345:16 3868 } 3869 } 3870 } 3871 } 3872 ok: (#struct){ 3873 x: (#struct){ 3874 y: (#struct){ 3875 k: (int){ 3 } 3876 } 3877 } 3878 } 3879 } 3880 p3: (_|_){ 3881 // [eval] 3882 X: (#struct){ 3883 x: (#struct){ 3884 y: (#struct){ 3885 } 3886 } 3887 } 3888 err1: (_|_){ 3889 // [eval] 3890 x: (_|_){ 3891 // [eval] 3892 y: (_|_){ 3893 // [eval] 3894 j: (_|_){ 3895 // [eval] patterns.nested.indirect.p3.err1.x.y.j: field not allowed: 3896 // ./embed.cue:355:16 3897 } 3898 } 3899 } 3900 } 3901 err2: (_|_){ 3902 // [eval] 3903 x: (_|_){ 3904 // [eval] 3905 y: (_|_){ 3906 // [eval] 3907 j: (_|_){ 3908 // [eval] patterns.nested.indirect.p3.err2.x.y.j: field not allowed: 3909 // ./embed.cue:358:16 3910 } 3911 } 3912 } 3913 } 3914 ok: (#struct){ 3915 x: (#struct){ 3916 y: (#struct){ 3917 k: (int){ 3 } 3918 } 3919 } 3920 } 3921 } 3922 p4: (_|_){ 3923 // [eval] 3924 #a: (#struct){ 3925 x: (#struct){ 3926 y: (#struct){ 3927 } 3928 } 3929 } 3930 X: (#struct){ 3931 x: (#struct){ 3932 y: (#struct){ 3933 } 3934 } 3935 } 3936 err1: (_|_){ 3937 // [eval] 3938 x: (_|_){ 3939 // [eval] 3940 y: (_|_){ 3941 // [eval] 3942 j: (_|_){ 3943 // [eval] patterns.nested.indirect.p4.err1.x.y.j: field not allowed: 3944 // ./embed.cue:370:16 3945 } 3946 } 3947 } 3948 } 3949 err2: (_|_){ 3950 // [eval] 3951 x: (_|_){ 3952 // [eval] 3953 y: (_|_){ 3954 // [eval] 3955 j: (_|_){ 3956 // [eval] patterns.nested.indirect.p4.err2.x.y.j: field not allowed: 3957 // ./embed.cue:373:16 3958 } 3959 } 3960 } 3961 } 3962 ok: (#struct){ 3963 x: (#struct){ 3964 y: (#struct){ 3965 k: (int){ 3 } 3966 } 3967 } 3968 } 3969 } 3970 } 3971 } 3972 } 3973 issue2241: (_|_){ 3974 // [eval] 3975 #close: (#struct){ 3976 } 3977 a: (#struct){ 3978 x: (struct){ 3979 q: (int){ 2 } 3980 } 3981 } 3982 b: (_|_){ 3983 // [eval] 3984 x: (_|_){ 3985 // [eval] 3986 r: (_|_){ 3987 // [eval] issue2241.b.x.r: field not allowed: 3988 // ./embed.cue:390:8 3989 } 3990 q: (int){ 2 } 3991 } 3992 } 3993 } 3994 #E: (#struct){ 3995 c: (int){ int } 3996 } 3997 #A: (#struct){ 3998 b: (int){ int } 3999 q: (#struct){ 4000 d: (int){ int } 4001 c: (int){ int } 4002 } 4003 } 4004 a: (_|_){ 4005 // [eval] 4006 b: (int){ 3 } 4007 q: (_|_){ 4008 // [eval] 4009 c: (int){ 2 } 4010 e: (_|_){ 4011 // [eval] a.q.e: field not allowed: 4012 // ./in.cue:15:3 4013 } 4014 d: (int){ int } 4015 } 4016 } 4017 issue852: (_|_){ 4018 // [eval] issue852.a.Foo: field not allowed: 4019 // ./in.cue:28:5 4020 #A: (#struct){ 4021 } 4022 a: (_|_){ 4023 // [eval] 4024 Foo: (_|_){ 4025 // [eval] issue852.a.Foo: field not allowed: 4026 // ./in.cue:28:5 4027 } 4028 } 4029 } 4030 dynamic: (struct){ 4031 #D: (#struct){ 4032 key: (string){ "foo" } 4033 foo: (int){ int } 4034 } 4035 d: (#struct){ 4036 foo: (int){ 3 } 4037 key: (string){ "foo" } 4038 } 4039 } 4040 issue3330: (struct){ 4041 let: (struct){ 4042 ok: (struct){ 4043 #struct: (#struct){ 4044 let empty#1 = (#struct){ 4045 } 4046 field: (#struct){ 4047 n: (int){ 3 } 4048 } 4049 } 4050 out: (#list){ 4051 0: ~(issue3330.let.ok.#struct) 4052 } 4053 } 4054 } 4055 matthew: (struct){ 4056 ok1: (struct){ 4057 #struct: (#struct){ 4058 field: (#struct){ 4059 n: (int){ 3 } 4060 } 4061 g: (#struct){ 4062 } 4063 } 4064 out: (#struct){ 4065 field: (#struct){ 4066 n: (int){ 3 } 4067 } 4068 g: (#struct){ 4069 } 4070 } 4071 } 4072 ok2: (struct){ 4073 #struct: (#struct){ 4074 field: (#struct){ 4075 n: (int){ 3 } 4076 } 4077 g: (#struct){ 4078 } 4079 } 4080 out: ~(issue3330.matthew.ok2.#struct) 4081 out2: (#struct){ 4082 field: (#struct){ 4083 n: (int){ 3 } 4084 } 4085 g: (#struct){ 4086 } 4087 } 4088 } 4089 } 4090 } 4091 issue3331: (struct){ 4092 original: (struct){ 4093 ok: (#list){ 4094 #A: (#struct){ 4095 let b#2 = (#struct){ 4096 } 4097 c: (#struct){ 4098 d: (int){ 1 } 4099 } 4100 } 4101 0: ~(issue3331.original.ok.#A) 4102 } 4103 } 4104 variant1: (struct){ 4105 ok: (#list){ 4106 #A: (#struct){ 4107 let b#3 = (#struct){ 4108 } 4109 c: (#struct){ 4110 d: (int){ 1 } 4111 } 4112 } 4113 0: (#list){ 4114 0: ~(issue3331.variant1.ok.#A) 4115 } 4116 } 4117 } 4118 } 4119 indirect: (_|_){ 4120 // [eval] 4121 embed: (struct){ 4122 err1: (struct){ 4123 #A: (#struct){ 4124 x: (#struct){ 4125 a: (#struct){ 4126 b: (int){ 1 } 4127 c: (int){ 2 } 4128 } 4129 } 4130 zx: ~(indirect.embed.err1.#A.x.a) 4131 } 4132 #x: (#struct){ 4133 a: (#struct){ 4134 b: (int){ 1 } 4135 } 4136 } 4137 #y: (#struct){ 4138 a: (#struct){ 4139 c: (int){ 2 } 4140 } 4141 } 4142 b: ~(indirect.embed.err1.#A) 4143 b1: (#struct){ 4144 d: (int){ 1 } 4145 b: (int){ 1 } 4146 c: (int){ 2 } 4147 } 4148 } 4149 } 4150 closed: (_|_){ 4151 // [eval] 4152 err1: (_|_){ 4153 // [eval] 4154 X: (struct){ 4155 a: (struct){ 4156 e: (int){ 1 } 4157 } 4158 b: (struct){ 4159 } 4160 } 4161 Y: (_|_){ 4162 // [eval] 4163 b: (#struct){ 4164 } 4165 c: (#struct){ 4166 } 4167 a: (_|_){ 4168 // [eval] 4169 e: (_|_){ 4170 // [eval] indirect.closed.err1.Y.a.e: field not allowed: 4171 // ./reroot.cue:75:7 4172 } 4173 } 4174 } 4175 #X: (#struct){ 4176 } 4177 } 4178 } 4179 } 4180 nested: (_|_){ 4181 // [eval] 4182 ok1: (struct){ 4183 #A: (#struct){ 4184 b: (#struct){ 4185 } 4186 #B: (#struct){ 4187 c: (#struct){ 4188 d: (int){ 1 } 4189 } 4190 } 4191 } 4192 x: ~(nested.ok1.#A) 4193 } 4194 embed: (struct){ 4195 ok: (struct){ 4196 x: ~(nested.embed.ok.#A) 4197 #A: (#struct){ 4198 d: (#struct){ 4199 e: (int){ int } 4200 } 4201 b: (#struct){ 4202 } 4203 } 4204 k: (struct){ 4205 d: (struct){ 4206 e: (int){ int } 4207 } 4208 b: (struct){ 4209 } 4210 } 4211 } 4212 } 4213 err1: (_|_){ 4214 // [eval] 4215 x: (_|_){ 4216 // [eval] 4217 b: (_|_){ 4218 // [eval] 4219 f: (_|_){ 4220 // [eval] nested.err1.x.b.f: field not allowed: 4221 // ./reroot.cue:114:6 4222 } 4223 g: (_|_){ 4224 // [eval] nested.err1.x.b.g: field not allowed: 4225 // ./reroot.cue:123:6 4226 } 4227 } 4228 v: ~(nested.err1.x.#V) 4229 #V: (_|_){ 4230 // [eval] 4231 c: (_|_){ 4232 // [eval] 4233 d: (_|_){ 4234 // [eval] nested.err1.x.#V.c.d: field not allowed: 4235 // ./reroot.cue:118:5 4236 } 4237 f: (_|_){ 4238 // [eval] nested.err1.x.#V.c.f: field not allowed: 4239 // ./reroot.cue:114:6 4240 } 4241 g: (int){ 1 } 4242 } 4243 } 4244 } 4245 #A: (#struct){ 4246 b: (#struct){ 4247 f: (int){ 1 } 4248 } 4249 v: ~(nested.err1.#A.#V) 4250 #V: (#struct){ 4251 c: (#struct){ 4252 d: (int){ 1 } 4253 f: (int){ 1 } 4254 } 4255 } 4256 } 4257 #B: (#struct){ 4258 g: (int){ 1 } 4259 } 4260 } 4261 err2: (_|_){ 4262 // [eval] 4263 #A: (#struct){ 4264 b: (#struct){ 4265 } 4266 c: (#struct){ 4267 d: (int){ 1 } 4268 } 4269 } 4270 x: (_|_){ 4271 // [eval] 4272 b: (_|_){ 4273 // [eval] 4274 g: (_|_){ 4275 // [eval] nested.err2.x.b.g: field not allowed: 4276 // ./reroot.cue:137:8 4277 } 4278 } 4279 c: (#struct){ 4280 d: (int){ 1 } 4281 g: (int){ 1 } 4282 } 4283 } 4284 } 4285 } 4286 inline: (struct){ 4287 #x: (#struct){ 4288 y: (#struct){ 4289 z?: (#struct){ 4290 name: (string){ string } 4291 } 4292 } 4293 } 4294 err1: (#struct){ 4295 name: (string){ "a" } 4296 age1: (int){ 5 } 4297 } 4298 err2: (#struct){ 4299 name: (string){ "a" } 4300 age2: (int){ 5 } 4301 } 4302 } 4303 mixInDef: (struct){ 4304 refInside: (struct){ 4305 #x: (#struct){ 4306 b: (#struct){ 4307 c: (#struct){ 4308 d: (#struct){ 4309 } 4310 e: (#struct){ 4311 f: (#struct){ 4312 } 4313 } 4314 } 4315 } 4316 } 4317 a: (#struct){ 4318 b: (#struct){ 4319 c: (#struct){ 4320 d: (#struct){ 4321 } 4322 e: (#struct){ 4323 f: (#struct){ 4324 } 4325 } 4326 } 4327 } 4328 } 4329 } 4330 refEdge: (struct){ 4331 #x: (#struct){ 4332 c: (#struct){ 4333 d: (#struct){ 4334 } 4335 e: (#struct){ 4336 f: (#struct){ 4337 } 4338 } 4339 } 4340 } 4341 a: (#struct){ 4342 c: (#struct){ 4343 d: (#struct){ 4344 } 4345 e: (#struct){ 4346 f: (#struct){ 4347 } 4348 } 4349 } 4350 } 4351 } 4352 refOutside: (struct){ 4353 #x: (#struct){ 4354 c: (#struct){ 4355 d: (#struct){ 4356 } 4357 e: (#struct){ 4358 f: (#struct){ 4359 } 4360 } 4361 } 4362 } 4363 a: (#struct){ 4364 c: (#struct){ 4365 d: (#struct){ 4366 } 4367 e: (#struct){ 4368 f: (#struct){ 4369 } 4370 } 4371 } 4372 } 4373 } 4374 } 4375 issue3601: (struct){ 4376 original: (struct){ 4377 out: (#struct){ 4378 foo: (#struct){ 4379 final: (#struct){ 4380 version: (string){ "v1" } 4381 } 4382 } 4383 } 4384 #Transform: (#struct){ 4385 output: (#struct){ 4386 foo: (#struct){ 4387 final: (#struct){ 4388 version: (string){ "v1" } 4389 } 4390 } 4391 } 4392 } 4393 #Patch: (#struct){ 4394 target: (#struct){ 4395 } 4396 output: (#struct){ 4397 foo: (#struct){ 4398 final: (#struct){ 4399 version: (string){ "v1" } 4400 } 4401 } 4402 } 4403 } 4404 } 4405 originalNoShare: (struct){ 4406 out: (#struct){ 4407 foo: (#struct){ 4408 final: (#struct){ 4409 version: (string){ "v1" } 4410 } 4411 } 4412 } 4413 #Transform: (#struct){ 4414 output: (#struct){ 4415 foo: (#struct){ 4416 final: (#struct){ 4417 version: (string){ "v1" } 4418 } 4419 } 4420 } 4421 } 4422 #Patch: (#struct){ 4423 target: (#struct){ 4424 } 4425 output: (#struct){ 4426 foo: (#struct){ 4427 final: (#struct){ 4428 version: (string){ "v1" } 4429 } 4430 } 4431 } 4432 } 4433 } 4434 reduced: (struct){ 4435 #X: (#struct){ 4436 a: (#struct){ 4437 b: (#struct){ 4438 c: (string){ "v1" } 4439 } 4440 } 4441 empty: (#struct){ 4442 } 4443 } 4444 original: (struct){ 4445 Y: (#struct){ 4446 b: (#struct){ 4447 c: (string){ "v1" } 4448 } 4449 } 4450 out: (#struct){ 4451 b: (#struct){ 4452 c: (string){ "v1" } 4453 } 4454 } 4455 } 4456 moreInlining: (struct){ 4457 out: (#struct){ 4458 b: (#struct){ 4459 c: (string){ "v1" } 4460 } 4461 } 4462 } 4463 noInline: (struct){ 4464 Y: (#struct){ 4465 a: (#struct){ 4466 b: (#struct){ 4467 c: (string){ "v1" } 4468 } 4469 } 4470 empty: (#struct){ 4471 } 4472 } 4473 Z: (#struct){ 4474 a: (#struct){ 4475 b: (#struct){ 4476 c: (string){ "v1" } 4477 } 4478 } 4479 empty: (#struct){ 4480 } 4481 } 4482 out: (#struct){ 4483 b: (#struct){ 4484 c: (string){ "v1" } 4485 } 4486 } 4487 } 4488 moreNesting: (struct){ 4489 #X: (#struct){ 4490 a: (#struct){ 4491 b: (#struct){ 4492 c: (#struct){ 4493 d: (string){ "v1" } 4494 } 4495 } 4496 } 4497 empty: (#struct){ 4498 } 4499 } 4500 Y: (#struct){ 4501 c: (#struct){ 4502 d: (string){ "v1" } 4503 } 4504 } 4505 Z: (#struct){ 4506 c: (#struct){ 4507 d: (string){ "v1" } 4508 } 4509 } 4510 } 4511 } 4512 } 4513 issue3332: (struct){ 4514 #def: (#struct){ 4515 field: (list){ list.MinItems(1) } 4516 } 4517 use: (#struct){ 4518 field: (#list){ 4519 0: (string){ "value" } 4520 } 4521 } 4522 } 4523 } 4524 -- diff/-out/evalalpha<==>+out/eval -- 4525 diff old new 4526 --- old 4527 +++ new 4528 @@ -1,349 +1,94 @@ 4529 Errors: 4530 a.q.e: field not allowed: 4531 - ./in.cue:1:5 4532 - ./in.cue:6:5 4533 - ./in.cue:7:3 4534 - ./in.cue:11:4 4535 ./in.cue:15:3 4536 indirect.closed.err1.Y.a.e: field not allowed: 4537 - ./reroot.cue:73:7 4538 - ./reroot.cue:74:7 4539 ./reroot.cue:75:7 4540 - ./reroot.cue:77:6 4541 - ./reroot.cue:79:7 4542 - ./reroot.cue:80:7 4543 - ./reroot.cue:82:7 4544 issue1867.one.x.foo: field not allowed: 4545 - ./ellipsis.cue:20:12 4546 - ./ellipsis.cue:21:7 4547 - ./ellipsis.cue:22:5 4548 ./ellipsis.cue:23:5 4549 issue1867.three.x.foo: field not allowed: 4550 - ./ellipsis.cue:34:15 4551 - ./ellipsis.cue:35:10 4552 - ./ellipsis.cue:36:5 4553 ./ellipsis.cue:37:5 4554 issue1867.two.x.foo: field not allowed: 4555 - ./ellipsis.cue:26:6 4556 - ./ellipsis.cue:27:9 4557 - ./ellipsis.cue:28:10 4558 - ./ellipsis.cue:29:5 4559 ./ellipsis.cue:30:5 4560 +issue2241.b.x.r: field not allowed: 4561 + ./embed.cue:390:8 4562 issue3778.full.z.b: field not allowed: 4563 - ./ellipsis.cue:2:6 4564 - ./ellipsis.cue:3:6 4565 - ./ellipsis.cue:3:13 4566 - ./ellipsis.cue:4:5 4567 ./ellipsis.cue:6:3 4568 issue3924.one.out.foo.disallowed: field not allowed: 4569 - ./ellipsis.cue:42:3 4570 - ./ellipsis.cue:42:14 4571 - ./ellipsis.cue:44:16 4572 - ./ellipsis.cue:46:7 4573 ./ellipsis.cue:46:23 4574 issue852.a.Foo: field not allowed: 4575 - ./in.cue:22:6 4576 - ./in.cue:26:5 4577 ./in.cue:28:5 4578 nested.err1.x.#V.c.d: field not allowed: 4579 - ./reroot.cue:112:5 4580 - ./reroot.cue:114:6 4581 - ./reroot.cue:117:7 4582 - ./reroot.cue:118:5 4583 - ./reroot.cue:122:8 4584 - ./reroot.cue:123:6 4585 + ./reroot.cue:118:5 4586 nested.err1.x.#V.c.f: field not allowed: 4587 - ./reroot.cue:112:5 4588 - ./reroot.cue:114:6 4589 - ./reroot.cue:117:7 4590 - ./reroot.cue:117:11 4591 - ./reroot.cue:122:8 4592 - ./reroot.cue:123:6 4593 + ./reroot.cue:114:6 4594 nested.err1.x.b.f: field not allowed: 4595 - ./reroot.cue:112:5 4596 - ./reroot.cue:114:6 4597 - ./reroot.cue:122:8 4598 - ./reroot.cue:123:6 4599 + ./reroot.cue:114:6 4600 nested.err1.x.b.g: field not allowed: 4601 - ./reroot.cue:112:5 4602 - ./reroot.cue:114:6 4603 - ./reroot.cue:122:8 4604 - ./reroot.cue:123:6 4605 -nested.err1.x.v.c.d: field not allowed: 4606 - ./reroot.cue:112:5 4607 - ./reroot.cue:114:6 4608 - ./reroot.cue:115:6 4609 - ./reroot.cue:117:7 4610 - ./reroot.cue:118:5 4611 - ./reroot.cue:122:8 4612 - ./reroot.cue:123:6 4613 -nested.err1.x.v.c.f: field not allowed: 4614 - ./reroot.cue:112:5 4615 - ./reroot.cue:114:6 4616 - ./reroot.cue:115:6 4617 - ./reroot.cue:117:7 4618 - ./reroot.cue:117:11 4619 - ./reroot.cue:122:8 4620 ./reroot.cue:123:6 4621 nested.err2.x.b.g: field not allowed: 4622 - ./reroot.cue:128:6 4623 - ./reroot.cue:136:5 4624 ./reroot.cue:137:8 4625 patterns.nested.and.p1.err.x.y.j: field not allowed: 4626 - ./embed.cue:206:12 4627 - ./embed.cue:207:12 4628 - ./embed.cue:221:6 4629 - ./embed.cue:221:11 4630 - ./embed.cue:223:8 4631 + ./embed.cue:207:12 4632 ./embed.cue:224:14 4633 patterns.nested.and.p2.err.x.y.j: field not allowed: 4634 - ./embed.cue:206:12 4635 - ./embed.cue:207:12 4636 - ./embed.cue:231:6 4637 - ./embed.cue:231:11 4638 - ./embed.cue:232:8 4639 + ./embed.cue:207:12 4640 ./embed.cue:233:14 4641 patterns.nested.andEmbed.p1.err.x.y.j: field not allowed: 4642 - ./embed.cue:206:12 4643 - ./embed.cue:207:12 4644 - ./embed.cue:240:8 4645 - ./embed.cue:240:13 4646 - ./embed.cue:242:8 4647 + ./embed.cue:207:12 4648 ./embed.cue:243:14 4649 patterns.nested.andEmbed.p2.err.x.y.j: field not allowed: 4650 - ./embed.cue:206:12 4651 - ./embed.cue:207:12 4652 - ./embed.cue:250:8 4653 - ./embed.cue:250:13 4654 - ./embed.cue:251:8 4655 + ./embed.cue:207:12 4656 ./embed.cue:252:14 4657 -patterns.nested.andOrEmbed.t1.p1.err1.x.y.j: field not allowed: 4658 - ./embed.cue:206:12 4659 - ./embed.cue:207:12 4660 - ./embed.cue:208:12 4661 - ./embed.cue:209:12 4662 - ./embed.cue:280:4 4663 - ./embed.cue:280:9 4664 - ./embed.cue:281:4 4665 - ./embed.cue:281:9 4666 - ./embed.cue:283:9 4667 - ./embed.cue:284:15 4668 -patterns.nested.andOrEmbed.t1.p2.err1.x.y.j: field not allowed: 4669 - ./embed.cue:206:12 4670 - ./embed.cue:207:12 4671 - ./embed.cue:208:12 4672 - ./embed.cue:209:12 4673 - ./embed.cue:293:4 4674 - ./embed.cue:293:9 4675 - ./embed.cue:294:4 4676 - ./embed.cue:294:9 4677 - ./embed.cue:296:9 4678 - ./embed.cue:297:15 4679 -patterns.nested.andOrEmbed.t2.err1.x.y.j: field not allowed: 4680 - ./embed.cue:206:12 4681 - ./embed.cue:207:12 4682 - ./embed.cue:208:12 4683 - ./embed.cue:209:12 4684 - ./embed.cue:306:4 4685 - ./embed.cue:306:9 4686 - ./embed.cue:307:4 4687 - ./embed.cue:307:9 4688 - ./embed.cue:310:9 4689 - ./embed.cue:311:15 4690 -patterns.nested.andOrEmbed.t2.ok2.x.y.p: field not allowed: 4691 - ./embed.cue:206:12 4692 - ./embed.cue:207:12 4693 - ./embed.cue:208:12 4694 - ./embed.cue:209:12 4695 - ./embed.cue:306:4 4696 - ./embed.cue:306:9 4697 - ./embed.cue:307:4 4698 - ./embed.cue:307:9 4699 - ./embed.cue:316:8 4700 - ./embed.cue:317:14 4701 patterns.nested.indirect.p1.err1.x.y.j: field not allowed: 4702 - ./embed.cue:322:12 4703 - ./embed.cue:323:7 4704 - ./embed.cue:326:7 4705 - ./embed.cue:327:10 4706 ./embed.cue:328:16 4707 patterns.nested.indirect.p1.err2.x.y.j: field not allowed: 4708 - ./embed.cue:322:12 4709 - ./embed.cue:323:7 4710 - ./embed.cue:326:7 4711 - ./embed.cue:330:10 4712 ./embed.cue:331:16 4713 patterns.nested.indirect.p2.err1.x.y.j: field not allowed: 4714 - ./embed.cue:322:12 4715 - ./embed.cue:338:8 4716 - ./embed.cue:339:7 4717 - ./embed.cue:341:10 4718 ./embed.cue:342:16 4719 patterns.nested.indirect.p2.err2.x.y.j: field not allowed: 4720 - ./embed.cue:322:12 4721 - ./embed.cue:338:8 4722 - ./embed.cue:339:7 4723 - ./embed.cue:344:10 4724 ./embed.cue:345:16 4725 patterns.nested.indirect.p3.err1.x.y.j: field not allowed: 4726 - ./embed.cue:322:12 4727 - ./embed.cue:323:7 4728 - ./embed.cue:352:7 4729 - ./embed.cue:354:10 4730 ./embed.cue:355:16 4731 patterns.nested.indirect.p3.err2.x.y.j: field not allowed: 4732 - ./embed.cue:322:12 4733 - ./embed.cue:323:7 4734 - ./embed.cue:352:7 4735 - ./embed.cue:357:10 4736 ./embed.cue:358:16 4737 patterns.nested.indirect.p4.err1.x.y.j: field not allowed: 4738 - ./embed.cue:322:12 4739 - ./embed.cue:365:8 4740 - ./embed.cue:366:7 4741 - ./embed.cue:369:10 4742 ./embed.cue:370:16 4743 patterns.nested.indirect.p4.err2.x.y.j: field not allowed: 4744 - ./embed.cue:322:12 4745 - ./embed.cue:365:8 4746 - ./embed.cue:366:7 4747 - ./embed.cue:372:10 4748 ./embed.cue:373:16 4749 patterns.nested.single.err.x.y.j: field not allowed: 4750 - ./embed.cue:206:12 4751 - ./embed.cue:212:6 4752 - ./embed.cue:213:8 4753 ./embed.cue:214:14 4754 patterns.shallow.and.p1.err.j: field not allowed: 4755 - ./embed.cue:30:6 4756 - ./embed.cue:31:6 4757 - ./embed.cue:45:6 4758 - ./embed.cue:45:11 4759 - ./embed.cue:47:8 4760 + ./embed.cue:31:6 4761 ./embed.cue:48:8 4762 patterns.shallow.and.p2.err.j: field not allowed: 4763 - ./embed.cue:30:6 4764 - ./embed.cue:31:6 4765 - ./embed.cue:55:6 4766 - ./embed.cue:55:11 4767 - ./embed.cue:56:8 4768 + ./embed.cue:31:6 4769 ./embed.cue:57:8 4770 patterns.shallow.andEmbed.p1.err.j: field not allowed: 4771 - ./embed.cue:30:6 4772 - ./embed.cue:31:6 4773 - ./embed.cue:64:6 4774 - ./embed.cue:64:8 4775 - ./embed.cue:64:13 4776 - ./embed.cue:66:8 4777 + ./embed.cue:31:6 4778 ./embed.cue:67:8 4779 patterns.shallow.andEmbed.p2.err.j: field not allowed: 4780 - ./embed.cue:30:6 4781 - ./embed.cue:31:6 4782 - ./embed.cue:74:6 4783 - ./embed.cue:74:8 4784 - ./embed.cue:74:13 4785 - ./embed.cue:75:8 4786 + ./embed.cue:31:6 4787 ./embed.cue:76:8 4788 -patterns.shallow.andOrEmbed.t1.p1.err1.j: field not allowed: 4789 - ./embed.cue:30:6 4790 - ./embed.cue:31:6 4791 - ./embed.cue:32:6 4792 - ./embed.cue:33:6 4793 - ./embed.cue:103:6 4794 - ./embed.cue:104:4 4795 - ./embed.cue:104:9 4796 - ./embed.cue:105:4 4797 - ./embed.cue:105:9 4798 - ./embed.cue:107:9 4799 - ./embed.cue:108:9 4800 -patterns.shallow.andOrEmbed.t1.p2.err1.j: field not allowed: 4801 - ./embed.cue:30:6 4802 - ./embed.cue:31:6 4803 - ./embed.cue:32:6 4804 - ./embed.cue:33:6 4805 - ./embed.cue:116:6 4806 - ./embed.cue:117:4 4807 - ./embed.cue:117:9 4808 - ./embed.cue:118:4 4809 - ./embed.cue:118:9 4810 - ./embed.cue:120:9 4811 - ./embed.cue:121:9 4812 -patterns.shallow.andOrEmbed.t2.err1.j: field not allowed: 4813 - ./embed.cue:30:6 4814 - ./embed.cue:31:6 4815 - ./embed.cue:32:6 4816 - ./embed.cue:33:6 4817 - ./embed.cue:129:6 4818 - ./embed.cue:130:4 4819 - ./embed.cue:130:9 4820 - ./embed.cue:131:4 4821 - ./embed.cue:131:9 4822 - ./embed.cue:134:9 4823 - ./embed.cue:135:9 4824 patterns.shallow.indirect.p1.err1.j: field not allowed: 4825 - ./embed.cue:146:6 4826 - ./embed.cue:147:7 4827 - ./embed.cue:150:7 4828 - ./embed.cue:151:10 4829 ./embed.cue:152:10 4830 patterns.shallow.indirect.p1.err2.j: field not allowed: 4831 - ./embed.cue:146:6 4832 - ./embed.cue:147:7 4833 - ./embed.cue:150:7 4834 - ./embed.cue:154:10 4835 ./embed.cue:155:10 4836 patterns.shallow.indirect.p2.err1.j: field not allowed: 4837 - ./embed.cue:146:6 4838 - ./embed.cue:162:8 4839 - ./embed.cue:163:7 4840 - ./embed.cue:165:10 4841 ./embed.cue:166:10 4842 patterns.shallow.indirect.p2.err2.j: field not allowed: 4843 - ./embed.cue:146:6 4844 - ./embed.cue:162:8 4845 - ./embed.cue:163:7 4846 - ./embed.cue:168:10 4847 ./embed.cue:169:10 4848 patterns.shallow.indirect.p3.err1.j: field not allowed: 4849 - ./embed.cue:146:6 4850 - ./embed.cue:147:7 4851 - ./embed.cue:176:7 4852 - ./embed.cue:178:10 4853 ./embed.cue:179:10 4854 patterns.shallow.indirect.p3.err2.j: field not allowed: 4855 - ./embed.cue:146:6 4856 - ./embed.cue:147:7 4857 - ./embed.cue:176:7 4858 - ./embed.cue:181:10 4859 ./embed.cue:182:10 4860 patterns.shallow.indirect.p4.err1.j: field not allowed: 4861 - ./embed.cue:146:6 4862 - ./embed.cue:189:8 4863 - ./embed.cue:190:7 4864 - ./embed.cue:193:10 4865 ./embed.cue:194:10 4866 patterns.shallow.indirect.p4.err2.j: field not allowed: 4867 - ./embed.cue:146:6 4868 - ./embed.cue:189:8 4869 - ./embed.cue:190:7 4870 - ./embed.cue:196:10 4871 ./embed.cue:197:10 4872 patterns.shallow.single.err.j: field not allowed: 4873 - ./embed.cue:30:6 4874 - ./embed.cue:36:6 4875 - ./embed.cue:37:8 4876 ./embed.cue:38:8 4877 -issue3924.two.out.foo: invalid value {disallowed:_|_(issue3924.two.out.foo.disallowed: field not allowed),allowed?:string} (does not satisfy matchN): 0 matched, expected 1: 4878 - ./ellipsis.cue:52:9 4879 - ./ellipsis.cue:50:14 4880 - ./ellipsis.cue:52:16 4881 - ./ellipsis.cue:59:23 4882 issue3924.two.out.foo.disallowed: field not allowed: 4883 ./ellipsis.cue:52:9 4884 - ./ellipsis.cue:50:3 4885 - ./ellipsis.cue:50:14 4886 - ./ellipsis.cue:55:15 4887 - ./ellipsis.cue:59:7 4888 ./ellipsis.cue:59:23 4889 4890 Result: 4891 @@ -364,10 +109,6 @@ 4892 a: (string){ "ok" } 4893 b: (_|_){ 4894 // [eval] issue3778.full.z.b: field not allowed: 4895 - // ./ellipsis.cue:2:6 4896 - // ./ellipsis.cue:3:6 4897 - // ./ellipsis.cue:3:13 4898 - // ./ellipsis.cue:4:5 4899 // ./ellipsis.cue:6:3 4900 } 4901 } 4902 @@ -395,9 +136,6 @@ 4903 // [eval] 4904 foo: (_|_){ 4905 // [eval] issue1867.one.x.foo: field not allowed: 4906 - // ./ellipsis.cue:20:12 4907 - // ./ellipsis.cue:21:7 4908 - // ./ellipsis.cue:22:5 4909 // ./ellipsis.cue:23:5 4910 } 4911 } 4912 @@ -414,10 +152,6 @@ 4913 // [eval] 4914 foo: (_|_){ 4915 // [eval] issue1867.two.x.foo: field not allowed: 4916 - // ./ellipsis.cue:26:6 4917 - // ./ellipsis.cue:27:9 4918 - // ./ellipsis.cue:28:10 4919 - // ./ellipsis.cue:29:5 4920 // ./ellipsis.cue:30:5 4921 } 4922 } 4923 @@ -432,9 +166,6 @@ 4924 // [eval] 4925 foo: (_|_){ 4926 // [eval] issue1867.three.x.foo: field not allowed: 4927 - // ./ellipsis.cue:34:15 4928 - // ./ellipsis.cue:35:10 4929 - // ./ellipsis.cue:36:5 4930 // ./ellipsis.cue:37:5 4931 } 4932 } 4933 @@ -455,10 +186,6 @@ 4934 // [eval] 4935 disallowed: (_|_){ 4936 // [eval] issue3924.one.out.foo.disallowed: field not allowed: 4937 - // ./ellipsis.cue:42:3 4938 - // ./ellipsis.cue:42:14 4939 - // ./ellipsis.cue:44:16 4940 - // ./ellipsis.cue:46:7 4941 // ./ellipsis.cue:46:23 4942 } 4943 allowed?: (string){ string } 4944 @@ -474,33 +201,20 @@ 4945 } 4946 out: (_|_){ 4947 // [eval] 4948 - #job: (#struct){ 4949 - allowed?: (string){ string } 4950 - } 4951 - foo: (_|_){ 4952 - // [eval] issue3924.two.out.foo: invalid value {disallowed:_|_(issue3924.two.out.foo.disallowed: field not allowed),allowed?:string} (does not satisfy matchN): 0 matched, expected 1: 4953 - // ./ellipsis.cue:52:9 4954 - // ./ellipsis.cue:50:14 4955 - // ./ellipsis.cue:52:16 4956 - // ./ellipsis.cue:59:23 4957 - // issue3924.two.out.foo.disallowed: field not allowed: 4958 - // ./ellipsis.cue:52:9 4959 - // ./ellipsis.cue:50:3 4960 - // ./ellipsis.cue:50:14 4961 - // ./ellipsis.cue:55:15 4962 - // ./ellipsis.cue:59:7 4963 + foo: (_|_){ 4964 + // [eval] issue3924.two.out.foo.disallowed: field not allowed: 4965 + // ./ellipsis.cue:52:9 4966 // ./ellipsis.cue:59:23 4967 disallowed: (_|_){ 4968 // [eval] issue3924.two.out.foo.disallowed: field not allowed: 4969 // ./ellipsis.cue:52:9 4970 - // ./ellipsis.cue:50:3 4971 - // ./ellipsis.cue:50:14 4972 - // ./ellipsis.cue:55:15 4973 - // ./ellipsis.cue:59:7 4974 // ./ellipsis.cue:59:23 4975 } 4976 allowed?: (string){ string } 4977 } 4978 + #job: (#struct){ 4979 + allowed?: (string){ string } 4980 + } 4981 } 4982 } 4983 } 4984 @@ -515,13 +229,13 @@ 4985 } 4986 } 4987 #Extended: (#struct){ 4988 - name: (string){ "base" } 4989 - type: (string){ "extended" } 4990 - items: (#struct){ 4991 - "my-item": (#struct){ 4992 - name: (string){ "my-item" } 4993 - } 4994 - } 4995 + type: (string){ "extended" } 4996 + items: (#struct){ 4997 + "my-item": (#struct){ 4998 + name: (string){ "my-item" } 4999 + } 5000 + } 5001 + name: (string){ "base" } 5002 } 5003 broken: (#struct){ 5004 name: (string){ "base" } 5005 @@ -533,13 +247,13 @@ 5006 } 5007 } 5008 works: (#struct){ 5009 - name: (string){ "base" } 5010 - type: (string){ "extended" } 5011 - items: (#struct){ 5012 - "my-item": (#struct){ 5013 - name: (string){ "my-item" } 5014 - } 5015 - } 5016 + type: (string){ "extended" } 5017 + items: (#struct){ 5018 + "my-item": (#struct){ 5019 + name: (string){ "my-item" } 5020 + } 5021 + } 5022 + name: (string){ "base" } 5023 } 5024 } 5025 } 5026 @@ -563,9 +277,6 @@ 5027 // [eval] 5028 j: (_|_){ 5029 // [eval] patterns.shallow.single.err.j: field not allowed: 5030 - // ./embed.cue:30:6 5031 - // ./embed.cue:36:6 5032 - // ./embed.cue:37:8 5033 // ./embed.cue:38:8 5034 } 5035 } 5036 @@ -583,11 +294,7 @@ 5037 // [eval] 5038 j: (_|_){ 5039 // [eval] patterns.shallow.and.p1.err.j: field not allowed: 5040 - // ./embed.cue:30:6 5041 - // ./embed.cue:31:6 5042 - // ./embed.cue:45:6 5043 - // ./embed.cue:45:11 5044 - // ./embed.cue:47:8 5045 + // ./embed.cue:31:6 5046 // ./embed.cue:48:8 5047 } 5048 } 5049 @@ -603,11 +310,7 @@ 5050 // [eval] 5051 j: (_|_){ 5052 // [eval] patterns.shallow.and.p2.err.j: field not allowed: 5053 - // ./embed.cue:30:6 5054 - // ./embed.cue:31:6 5055 - // ./embed.cue:55:6 5056 - // ./embed.cue:55:11 5057 - // ./embed.cue:56:8 5058 + // ./embed.cue:31:6 5059 // ./embed.cue:57:8 5060 } 5061 } 5062 @@ -626,12 +329,7 @@ 5063 // [eval] 5064 j: (_|_){ 5065 // [eval] patterns.shallow.andEmbed.p1.err.j: field not allowed: 5066 - // ./embed.cue:30:6 5067 - // ./embed.cue:31:6 5068 - // ./embed.cue:64:6 5069 - // ./embed.cue:64:8 5070 - // ./embed.cue:64:13 5071 - // ./embed.cue:66:8 5072 + // ./embed.cue:31:6 5073 // ./embed.cue:67:8 5074 } 5075 } 5076 @@ -647,12 +345,7 @@ 5077 // [eval] 5078 j: (_|_){ 5079 // [eval] patterns.shallow.andEmbed.p2.err.j: field not allowed: 5080 - // ./embed.cue:30:6 5081 - // ./embed.cue:31:6 5082 - // ./embed.cue:74:6 5083 - // ./embed.cue:74:8 5084 - // ./embed.cue:74:13 5085 - // ./embed.cue:75:8 5086 + // ./embed.cue:31:6 5087 // ./embed.cue:76:8 5088 } 5089 } 5090 @@ -683,81 +376,34 @@ 5091 } 5092 } 5093 } 5094 - andOrEmbed: (_|_){ 5095 - // [eval] 5096 - t1: (_|_){ 5097 - // [eval] 5098 - p1: (_|_){ 5099 - // [eval] 5100 - X: (#struct){ 5101 - } 5102 - err1: (_|_){ 5103 - // [eval] 5104 - j: (_|_){ 5105 - // [eval] patterns.shallow.andOrEmbed.t1.p1.err1.j: field not allowed: 5106 - // ./embed.cue:30:6 5107 - // ./embed.cue:31:6 5108 - // ./embed.cue:32:6 5109 - // ./embed.cue:33:6 5110 - // ./embed.cue:103:6 5111 - // ./embed.cue:104:4 5112 - // ./embed.cue:104:9 5113 - // ./embed.cue:105:4 5114 - // ./embed.cue:105:9 5115 - // ./embed.cue:107:9 5116 - // ./embed.cue:108:9 5117 - } 5118 - } 5119 - ok1: (#struct){ 5120 - k: (int){ 3 } 5121 - } 5122 - } 5123 - p2: (_|_){ 5124 - // [eval] 5125 - X: (#struct){ 5126 - } 5127 - err1: (_|_){ 5128 - // [eval] 5129 - j: (_|_){ 5130 - // [eval] patterns.shallow.andOrEmbed.t1.p2.err1.j: field not allowed: 5131 - // ./embed.cue:30:6 5132 - // ./embed.cue:31:6 5133 - // ./embed.cue:32:6 5134 - // ./embed.cue:33:6 5135 - // ./embed.cue:116:6 5136 - // ./embed.cue:117:4 5137 - // ./embed.cue:117:9 5138 - // ./embed.cue:118:4 5139 - // ./embed.cue:118:9 5140 - // ./embed.cue:120:9 5141 - // ./embed.cue:121:9 5142 - } 5143 - } 5144 - ok1: (#struct){ 5145 - k: (int){ 3 } 5146 - } 5147 - } 5148 - } 5149 - t2: (_|_){ 5150 - // [eval] 5151 - X: (#struct){ 5152 - } 5153 - err1: (_|_){ 5154 - // [eval] 5155 - j: (_|_){ 5156 - // [eval] patterns.shallow.andOrEmbed.t2.err1.j: field not allowed: 5157 - // ./embed.cue:30:6 5158 - // ./embed.cue:31:6 5159 - // ./embed.cue:32:6 5160 - // ./embed.cue:33:6 5161 - // ./embed.cue:129:6 5162 - // ./embed.cue:130:4 5163 - // ./embed.cue:130:9 5164 - // ./embed.cue:131:4 5165 - // ./embed.cue:131:9 5166 - // ./embed.cue:134:9 5167 - // ./embed.cue:135:9 5168 - } 5169 + andOrEmbed: (struct){ 5170 + t1: (struct){ 5171 + p1: (struct){ 5172 + X: (#struct){ 5173 + } 5174 + err1: (#struct){ 5175 + j: (int){ 3 } 5176 + } 5177 + ok1: (#struct){ 5178 + k: (int){ 3 } 5179 + } 5180 + } 5181 + p2: (struct){ 5182 + X: (#struct){ 5183 + } 5184 + err1: (#struct){ 5185 + j: (int){ 3 } 5186 + } 5187 + ok1: (#struct){ 5188 + k: (int){ 3 } 5189 + } 5190 + } 5191 + } 5192 + t2: (struct){ 5193 + X: (#struct){ 5194 + } 5195 + err1: (#struct){ 5196 + j: (int){ 3 } 5197 } 5198 ok1: (#struct){ 5199 k: (int){ 3 } 5200 @@ -781,10 +427,6 @@ 5201 // [eval] 5202 j: (_|_){ 5203 // [eval] patterns.shallow.indirect.p1.err1.j: field not allowed: 5204 - // ./embed.cue:146:6 5205 - // ./embed.cue:147:7 5206 - // ./embed.cue:150:7 5207 - // ./embed.cue:151:10 5208 // ./embed.cue:152:10 5209 } 5210 } 5211 @@ -792,10 +434,6 @@ 5212 // [eval] 5213 j: (_|_){ 5214 // [eval] patterns.shallow.indirect.p1.err2.j: field not allowed: 5215 - // ./embed.cue:146:6 5216 - // ./embed.cue:147:7 5217 - // ./embed.cue:150:7 5218 - // ./embed.cue:154:10 5219 // ./embed.cue:155:10 5220 } 5221 } 5222 @@ -813,10 +451,6 @@ 5223 // [eval] 5224 j: (_|_){ 5225 // [eval] patterns.shallow.indirect.p2.err1.j: field not allowed: 5226 - // ./embed.cue:146:6 5227 - // ./embed.cue:162:8 5228 - // ./embed.cue:163:7 5229 - // ./embed.cue:165:10 5230 // ./embed.cue:166:10 5231 } 5232 } 5233 @@ -824,10 +458,6 @@ 5234 // [eval] 5235 j: (_|_){ 5236 // [eval] patterns.shallow.indirect.p2.err2.j: field not allowed: 5237 - // ./embed.cue:146:6 5238 - // ./embed.cue:162:8 5239 - // ./embed.cue:163:7 5240 - // ./embed.cue:168:10 5241 // ./embed.cue:169:10 5242 } 5243 } 5244 @@ -843,10 +473,6 @@ 5245 // [eval] 5246 j: (_|_){ 5247 // [eval] patterns.shallow.indirect.p3.err1.j: field not allowed: 5248 - // ./embed.cue:146:6 5249 - // ./embed.cue:147:7 5250 - // ./embed.cue:176:7 5251 - // ./embed.cue:178:10 5252 // ./embed.cue:179:10 5253 } 5254 } 5255 @@ -854,10 +480,6 @@ 5256 // [eval] 5257 j: (_|_){ 5258 // [eval] patterns.shallow.indirect.p3.err2.j: field not allowed: 5259 - // ./embed.cue:146:6 5260 - // ./embed.cue:147:7 5261 - // ./embed.cue:176:7 5262 - // ./embed.cue:181:10 5263 // ./embed.cue:182:10 5264 } 5265 } 5266 @@ -875,10 +497,6 @@ 5267 // [eval] 5268 j: (_|_){ 5269 // [eval] patterns.shallow.indirect.p4.err1.j: field not allowed: 5270 - // ./embed.cue:146:6 5271 - // ./embed.cue:189:8 5272 - // ./embed.cue:190:7 5273 - // ./embed.cue:193:10 5274 // ./embed.cue:194:10 5275 } 5276 } 5277 @@ -886,10 +504,6 @@ 5278 // [eval] 5279 j: (_|_){ 5280 // [eval] patterns.shallow.indirect.p4.err2.j: field not allowed: 5281 - // ./embed.cue:146:6 5282 - // ./embed.cue:189:8 5283 - // ./embed.cue:190:7 5284 - // ./embed.cue:196:10 5285 // ./embed.cue:197:10 5286 } 5287 } 5288 @@ -927,12 +541,7 @@ 5289 } 5290 single: (_|_){ 5291 // [eval] 5292 - X: (#struct){ 5293 - x: (#struct){ 5294 - y: (#struct){ 5295 - } 5296 - } 5297 - } 5298 + X: ~(patterns.nested.#a) 5299 err: (_|_){ 5300 // [eval] 5301 x: (_|_){ 5302 @@ -941,9 +550,6 @@ 5303 // [eval] 5304 j: (_|_){ 5305 // [eval] patterns.nested.single.err.x.y.j: field not allowed: 5306 - // ./embed.cue:206:12 5307 - // ./embed.cue:212:6 5308 - // ./embed.cue:213:8 5309 // ./embed.cue:214:14 5310 } 5311 } 5312 @@ -975,11 +581,7 @@ 5313 // [eval] 5314 j: (_|_){ 5315 // [eval] patterns.nested.and.p1.err.x.y.j: field not allowed: 5316 - // ./embed.cue:206:12 5317 - // ./embed.cue:207:12 5318 - // ./embed.cue:221:6 5319 - // ./embed.cue:221:11 5320 - // ./embed.cue:223:8 5321 + // ./embed.cue:207:12 5322 // ./embed.cue:224:14 5323 } 5324 } 5325 @@ -1009,11 +611,7 @@ 5326 // [eval] 5327 j: (_|_){ 5328 // [eval] patterns.nested.and.p2.err.x.y.j: field not allowed: 5329 - // ./embed.cue:206:12 5330 - // ./embed.cue:207:12 5331 - // ./embed.cue:231:6 5332 - // ./embed.cue:231:11 5333 - // ./embed.cue:232:8 5334 + // ./embed.cue:207:12 5335 // ./embed.cue:233:14 5336 } 5337 } 5338 @@ -1046,11 +644,7 @@ 5339 // [eval] 5340 j: (_|_){ 5341 // [eval] patterns.nested.andEmbed.p1.err.x.y.j: field not allowed: 5342 - // ./embed.cue:206:12 5343 - // ./embed.cue:207:12 5344 - // ./embed.cue:240:8 5345 - // ./embed.cue:240:13 5346 - // ./embed.cue:242:8 5347 + // ./embed.cue:207:12 5348 // ./embed.cue:243:14 5349 } 5350 } 5351 @@ -1080,11 +674,7 @@ 5352 // [eval] 5353 j: (_|_){ 5354 // [eval] patterns.nested.andEmbed.p2.err.x.y.j: field not allowed: 5355 - // ./embed.cue:206:12 5356 - // ./embed.cue:207:12 5357 - // ./embed.cue:250:8 5358 - // ./embed.cue:250:13 5359 - // ./embed.cue:251:8 5360 + // ./embed.cue:207:12 5361 // ./embed.cue:252:14 5362 } 5363 } 5364 @@ -1145,143 +735,78 @@ 5365 } 5366 } 5367 } 5368 - andOrEmbed: (_|_){ 5369 - // [eval] 5370 - t1: (_|_){ 5371 - // [eval] 5372 - p1: (_|_){ 5373 - // [eval] 5374 - X: (#struct){ 5375 - x: (#struct){ 5376 - y: (#struct){ 5377 - } 5378 - } 5379 - } 5380 - err1: (_|_){ 5381 - // [eval] 5382 - x: (_|_){ 5383 - // [eval] 5384 - y: (_|_){ 5385 - // [eval] 5386 - j: (_|_){ 5387 - // [eval] patterns.nested.andOrEmbed.t1.p1.err1.x.y.j: field not allowed: 5388 - // ./embed.cue:206:12 5389 - // ./embed.cue:207:12 5390 - // ./embed.cue:208:12 5391 - // ./embed.cue:209:12 5392 - // ./embed.cue:280:4 5393 - // ./embed.cue:280:9 5394 - // ./embed.cue:281:4 5395 - // ./embed.cue:281:9 5396 - // ./embed.cue:283:9 5397 - // ./embed.cue:284:15 5398 - } 5399 - } 5400 - } 5401 - } 5402 - ok1: (#struct){ 5403 - x: (#struct){ 5404 - y: (#struct){ 5405 - k: (int){ 3 } 5406 - } 5407 - } 5408 - } 5409 - } 5410 - p2: (_|_){ 5411 - // [eval] 5412 - X: (#struct){ 5413 - x: (#struct){ 5414 - y: (#struct){ 5415 - } 5416 - } 5417 - } 5418 - err1: (_|_){ 5419 - // [eval] 5420 - x: (_|_){ 5421 - // [eval] 5422 - y: (_|_){ 5423 - // [eval] 5424 - j: (_|_){ 5425 - // [eval] patterns.nested.andOrEmbed.t1.p2.err1.x.y.j: field not allowed: 5426 - // ./embed.cue:206:12 5427 - // ./embed.cue:207:12 5428 - // ./embed.cue:208:12 5429 - // ./embed.cue:209:12 5430 - // ./embed.cue:293:4 5431 - // ./embed.cue:293:9 5432 - // ./embed.cue:294:4 5433 - // ./embed.cue:294:9 5434 - // ./embed.cue:296:9 5435 - // ./embed.cue:297:15 5436 - } 5437 - } 5438 - } 5439 - } 5440 - ok1: (#struct){ 5441 - x: (#struct){ 5442 - y: (#struct){ 5443 - k: (int){ 3 } 5444 - } 5445 - } 5446 - } 5447 - } 5448 - } 5449 - t2: (_|_){ 5450 - // [eval] 5451 - X: (#struct){ 5452 - x: (#struct){ 5453 - y: (#struct){ 5454 - } 5455 - } 5456 - } 5457 - err1: (_|_){ 5458 - // [eval] 5459 - x: (_|_){ 5460 - // [eval] 5461 - y: (_|_){ 5462 - // [eval] 5463 - j: (_|_){ 5464 - // [eval] patterns.nested.andOrEmbed.t2.err1.x.y.j: field not allowed: 5465 - // ./embed.cue:206:12 5466 - // ./embed.cue:207:12 5467 - // ./embed.cue:208:12 5468 - // ./embed.cue:209:12 5469 - // ./embed.cue:306:4 5470 - // ./embed.cue:306:9 5471 - // ./embed.cue:307:4 5472 - // ./embed.cue:307:9 5473 - // ./embed.cue:310:9 5474 - // ./embed.cue:311:15 5475 - } 5476 - } 5477 - } 5478 - } 5479 - ok1: (#struct){ 5480 - x: (#struct){ 5481 - y: (#struct){ 5482 - k: (int){ 3 } 5483 - } 5484 - } 5485 - } 5486 - ok2: (_|_){ 5487 - // [eval] 5488 - x: (_|_){ 5489 - // [eval] 5490 - y: (_|_){ 5491 - // [eval] 5492 - p: (_|_){ 5493 - // [eval] patterns.nested.andOrEmbed.t2.ok2.x.y.p: field not allowed: 5494 - // ./embed.cue:206:12 5495 - // ./embed.cue:207:12 5496 - // ./embed.cue:208:12 5497 - // ./embed.cue:209:12 5498 - // ./embed.cue:306:4 5499 - // ./embed.cue:306:9 5500 - // ./embed.cue:307:4 5501 - // ./embed.cue:307:9 5502 - // ./embed.cue:316:8 5503 - // ./embed.cue:317:14 5504 - } 5505 + andOrEmbed: (struct){ 5506 + t1: (struct){ 5507 + p1: (struct){ 5508 + X: (#struct){ 5509 + x: (#struct){ 5510 + y: (#struct){ 5511 + } 5512 + } 5513 + } 5514 + err1: (#struct){ 5515 + x: (#struct){ 5516 + y: (#struct){ 5517 + j: (int){ 3 } 5518 + } 5519 + } 5520 + } 5521 + ok1: (#struct){ 5522 + x: (#struct){ 5523 + y: (#struct){ 5524 + k: (int){ 3 } 5525 + } 5526 + } 5527 + } 5528 + } 5529 + p2: (struct){ 5530 + X: (#struct){ 5531 + x: (#struct){ 5532 + y: (#struct){ 5533 + } 5534 + } 5535 + } 5536 + err1: (#struct){ 5537 + x: (#struct){ 5538 + y: (#struct){ 5539 + j: (int){ 3 } 5540 + } 5541 + } 5542 + } 5543 + ok1: (#struct){ 5544 + x: (#struct){ 5545 + y: (#struct){ 5546 + k: (int){ 3 } 5547 + } 5548 + } 5549 + } 5550 + } 5551 + } 5552 + t2: (struct){ 5553 + X: (#struct){ 5554 + x: (#struct){ 5555 + y: (#struct){ 5556 + } 5557 + } 5558 + } 5559 + err1: (#struct){ 5560 + x: (#struct){ 5561 + y: (#struct){ 5562 + j: (int){ 3 } 5563 + } 5564 + } 5565 + } 5566 + ok1: (#struct){ 5567 + x: (#struct){ 5568 + y: (#struct){ 5569 + k: (int){ 3 } 5570 + } 5571 + } 5572 + } 5573 + ok2: (#struct){ 5574 + x: (#struct){ 5575 + y: (#struct){ 5576 + p: (int){ 3 } 5577 } 5578 } 5579 } 5580 @@ -1303,12 +828,7 @@ 5581 } 5582 p1: (_|_){ 5583 // [eval] 5584 - X: (#struct){ 5585 - x: (#struct){ 5586 - y: (#struct){ 5587 - } 5588 - } 5589 - } 5590 + X: ~(patterns.nested.indirect.#a) 5591 err1: (_|_){ 5592 // [eval] 5593 x: (_|_){ 5594 @@ -1317,10 +837,6 @@ 5595 // [eval] 5596 j: (_|_){ 5597 // [eval] patterns.nested.indirect.p1.err1.x.y.j: field not allowed: 5598 - // ./embed.cue:322:12 5599 - // ./embed.cue:323:7 5600 - // ./embed.cue:326:7 5601 - // ./embed.cue:327:10 5602 // ./embed.cue:328:16 5603 } 5604 } 5605 @@ -1334,10 +850,6 @@ 5606 // [eval] 5607 j: (_|_){ 5608 // [eval] patterns.nested.indirect.p1.err2.x.y.j: field not allowed: 5609 - // ./embed.cue:322:12 5610 - // ./embed.cue:323:7 5611 - // ./embed.cue:326:7 5612 - // ./embed.cue:330:10 5613 // ./embed.cue:331:16 5614 } 5615 } 5616 @@ -1359,12 +871,7 @@ 5617 } 5618 } 5619 } 5620 - X: (#struct){ 5621 - x: (#struct){ 5622 - y: (#struct){ 5623 - } 5624 - } 5625 - } 5626 + X: ~(patterns.nested.indirect.p2.#a) 5627 err1: (_|_){ 5628 // [eval] 5629 x: (_|_){ 5630 @@ -1373,10 +880,6 @@ 5631 // [eval] 5632 j: (_|_){ 5633 // [eval] patterns.nested.indirect.p2.err1.x.y.j: field not allowed: 5634 - // ./embed.cue:322:12 5635 - // ./embed.cue:338:8 5636 - // ./embed.cue:339:7 5637 - // ./embed.cue:341:10 5638 // ./embed.cue:342:16 5639 } 5640 } 5641 @@ -1390,10 +893,6 @@ 5642 // [eval] 5643 j: (_|_){ 5644 // [eval] patterns.nested.indirect.p2.err2.x.y.j: field not allowed: 5645 - // ./embed.cue:322:12 5646 - // ./embed.cue:338:8 5647 - // ./embed.cue:339:7 5648 - // ./embed.cue:344:10 5649 // ./embed.cue:345:16 5650 } 5651 } 5652 @@ -1423,10 +922,6 @@ 5653 // [eval] 5654 j: (_|_){ 5655 // [eval] patterns.nested.indirect.p3.err1.x.y.j: field not allowed: 5656 - // ./embed.cue:322:12 5657 - // ./embed.cue:323:7 5658 - // ./embed.cue:352:7 5659 - // ./embed.cue:354:10 5660 // ./embed.cue:355:16 5661 } 5662 } 5663 @@ -1440,10 +935,6 @@ 5664 // [eval] 5665 j: (_|_){ 5666 // [eval] patterns.nested.indirect.p3.err2.x.y.j: field not allowed: 5667 - // ./embed.cue:322:12 5668 - // ./embed.cue:323:7 5669 - // ./embed.cue:352:7 5670 - // ./embed.cue:357:10 5671 // ./embed.cue:358:16 5672 } 5673 } 5674 @@ -1479,10 +970,6 @@ 5675 // [eval] 5676 j: (_|_){ 5677 // [eval] patterns.nested.indirect.p4.err1.x.y.j: field not allowed: 5678 - // ./embed.cue:322:12 5679 - // ./embed.cue:365:8 5680 - // ./embed.cue:366:7 5681 - // ./embed.cue:369:10 5682 // ./embed.cue:370:16 5683 } 5684 } 5685 @@ -1496,10 +983,6 @@ 5686 // [eval] 5687 j: (_|_){ 5688 // [eval] patterns.nested.indirect.p4.err2.x.y.j: field not allowed: 5689 - // ./embed.cue:322:12 5690 - // ./embed.cue:365:8 5691 - // ./embed.cue:366:7 5692 - // ./embed.cue:372:10 5693 // ./embed.cue:373:16 5694 } 5695 } 5696 @@ -1516,7 +999,8 @@ 5697 } 5698 } 5699 } 5700 - issue2241: (struct){ 5701 + issue2241: (_|_){ 5702 + // [eval] 5703 #close: (#struct){ 5704 } 5705 a: (#struct){ 5706 @@ -1524,10 +1008,15 @@ 5707 q: (int){ 2 } 5708 } 5709 } 5710 - b: (#struct){ 5711 - x: (struct){ 5712 - q: (int){ 2 } 5713 - r: (int){ 4 } 5714 + b: (_|_){ 5715 + // [eval] 5716 + x: (_|_){ 5717 + // [eval] 5718 + r: (_|_){ 5719 + // [eval] issue2241.b.x.r: field not allowed: 5720 + // ./embed.cue:390:8 5721 + } 5722 + q: (int){ 2 } 5723 } 5724 } 5725 } 5726 @@ -1537,8 +1026,8 @@ 5727 #A: (#struct){ 5728 b: (int){ int } 5729 q: (#struct){ 5730 + d: (int){ int } 5731 c: (int){ int } 5732 - d: (int){ int } 5733 } 5734 } 5735 a: (_|_){ 5736 @@ -1547,21 +1036,15 @@ 5737 q: (_|_){ 5738 // [eval] 5739 c: (int){ 2 } 5740 - d: (int){ int } 5741 e: (_|_){ 5742 // [eval] a.q.e: field not allowed: 5743 - // ./in.cue:1:5 5744 - // ./in.cue:6:5 5745 - // ./in.cue:7:3 5746 - // ./in.cue:11:4 5747 // ./in.cue:15:3 5748 } 5749 + d: (int){ int } 5750 } 5751 } 5752 issue852: (_|_){ 5753 // [eval] issue852.a.Foo: field not allowed: 5754 - // ./in.cue:22:6 5755 - // ./in.cue:26:5 5756 // ./in.cue:28:5 5757 #A: (#struct){ 5758 } 5759 @@ -1569,8 +1052,6 @@ 5760 // [eval] 5761 Foo: (_|_){ 5762 // [eval] issue852.a.Foo: field not allowed: 5763 - // ./in.cue:22:6 5764 - // ./in.cue:26:5 5765 // ./in.cue:28:5 5766 } 5767 } 5768 @@ -1581,8 +1062,8 @@ 5769 foo: (int){ int } 5770 } 5771 d: (#struct){ 5772 - key: (string){ "foo" } 5773 foo: (int){ 3 } 5774 + key: (string){ "foo" } 5775 } 5776 } 5777 issue3330: (struct){ 5778 @@ -1596,13 +1077,7 @@ 5779 } 5780 } 5781 out: (#list){ 5782 - 0: (#struct){ 5783 - let empty#1 = (#struct){ 5784 - } 5785 - field: (#struct){ 5786 - n: (int){ 3 } 5787 - } 5788 - } 5789 + 0: ~(issue3330.let.ok.#struct) 5790 } 5791 } 5792 } 5793 @@ -1631,13 +1106,7 @@ 5794 g: (#struct){ 5795 } 5796 } 5797 - out: (#struct){ 5798 - field: (#struct){ 5799 - n: (int){ 3 } 5800 - } 5801 - g: (#struct){ 5802 - } 5803 - } 5804 + out: ~(issue3330.matthew.ok2.#struct) 5805 out2: (#struct){ 5806 field: (#struct){ 5807 n: (int){ 3 } 5808 @@ -1658,13 +1127,7 @@ 5809 d: (int){ 1 } 5810 } 5811 } 5812 - 0: (#struct){ 5813 - let b#2 = (#struct){ 5814 - } 5815 - c: (#struct){ 5816 - d: (int){ 1 } 5817 - } 5818 - } 5819 + 0: ~(issue3331.original.ok.#A) 5820 } 5821 } 5822 variant1: (struct){ 5823 @@ -1677,13 +1140,7 @@ 5824 } 5825 } 5826 0: (#list){ 5827 - 0: (#struct){ 5828 - let b#3 = (#struct){ 5829 - } 5830 - c: (#struct){ 5831 - d: (int){ 1 } 5832 - } 5833 - } 5834 + 0: ~(issue3331.variant1.ok.#A) 5835 } 5836 } 5837 } 5838 @@ -1699,10 +1156,7 @@ 5839 c: (int){ 2 } 5840 } 5841 } 5842 - zx: (#struct){ 5843 - b: (int){ 1 } 5844 - c: (int){ 2 } 5845 - } 5846 + zx: ~(indirect.embed.err1.#A.x.a) 5847 } 5848 #x: (#struct){ 5849 a: (#struct){ 5850 @@ -1714,22 +1168,11 @@ 5851 c: (int){ 2 } 5852 } 5853 } 5854 - b: (#struct){ 5855 - x: (#struct){ 5856 - a: (#struct){ 5857 - b: (int){ 1 } 5858 - c: (int){ 2 } 5859 - } 5860 - } 5861 - zx: (#struct){ 5862 - b: (int){ 1 } 5863 - c: (int){ 2 } 5864 - } 5865 - } 5866 - b1: (struct){ 5867 + b: ~(indirect.embed.err1.#A) 5868 + b1: (#struct){ 5869 + d: (int){ 1 } 5870 b: (int){ 1 } 5871 c: (int){ 2 } 5872 - d: (int){ 1 } 5873 } 5874 } 5875 } 5876 @@ -1746,22 +1189,16 @@ 5877 } 5878 Y: (_|_){ 5879 // [eval] 5880 + b: (#struct){ 5881 + } 5882 + c: (#struct){ 5883 + } 5884 a: (_|_){ 5885 // [eval] 5886 e: (_|_){ 5887 // [eval] indirect.closed.err1.Y.a.e: field not allowed: 5888 - // ./reroot.cue:73:7 5889 - // ./reroot.cue:74:7 5890 // ./reroot.cue:75:7 5891 - // ./reroot.cue:77:6 5892 - // ./reroot.cue:79:7 5893 - // ./reroot.cue:80:7 5894 - // ./reroot.cue:82:7 5895 - } 5896 - } 5897 - b: (#struct){ 5898 - } 5899 - c: (#struct){ 5900 + } 5901 } 5902 } 5903 #X: (#struct){ 5904 @@ -1781,25 +1218,11 @@ 5905 } 5906 } 5907 } 5908 - x: (#struct){ 5909 - b: (#struct){ 5910 - } 5911 - #B: (#struct){ 5912 - c: (#struct){ 5913 - d: (int){ 1 } 5914 - } 5915 - } 5916 - } 5917 - } 5918 - embed: (struct){ 5919 - ok: (struct){ 5920 - x: (#struct){ 5921 - d: (#struct){ 5922 - e: (int){ int } 5923 - } 5924 - b: (#struct){ 5925 - } 5926 - } 5927 + x: ~(nested.ok1.#A) 5928 + } 5929 + embed: (struct){ 5930 + ok: (struct){ 5931 + x: ~(nested.embed.ok.#A) 5932 #A: (#struct){ 5933 d: (#struct){ 5934 e: (int){ int } 5935 @@ -1824,69 +1247,27 @@ 5936 // [eval] 5937 f: (_|_){ 5938 // [eval] nested.err1.x.b.f: field not allowed: 5939 - // ./reroot.cue:112:5 5940 - // ./reroot.cue:114:6 5941 - // ./reroot.cue:122:8 5942 - // ./reroot.cue:123:6 5943 + // ./reroot.cue:114:6 5944 } 5945 g: (_|_){ 5946 // [eval] nested.err1.x.b.g: field not allowed: 5947 - // ./reroot.cue:112:5 5948 - // ./reroot.cue:114:6 5949 - // ./reroot.cue:122:8 5950 - // ./reroot.cue:123:6 5951 - } 5952 - } 5953 - v: (_|_){ 5954 - // [eval] 5955 - c: (_|_){ 5956 - // [eval] 5957 - f: (_|_){ 5958 - // [eval] nested.err1.x.v.c.f: field not allowed: 5959 - // ./reroot.cue:112:5 5960 - // ./reroot.cue:114:6 5961 - // ./reroot.cue:115:6 5962 - // ./reroot.cue:117:7 5963 - // ./reroot.cue:117:11 5964 - // ./reroot.cue:122:8 5965 - // ./reroot.cue:123:6 5966 - } 5967 - g: (int){ 1 } 5968 - d: (_|_){ 5969 - // [eval] nested.err1.x.v.c.d: field not allowed: 5970 - // ./reroot.cue:112:5 5971 - // ./reroot.cue:114:6 5972 - // ./reroot.cue:115:6 5973 - // ./reroot.cue:117:7 5974 - // ./reroot.cue:118:5 5975 - // ./reroot.cue:122:8 5976 - // ./reroot.cue:123:6 5977 - } 5978 - } 5979 - } 5980 + // ./reroot.cue:123:6 5981 + } 5982 + } 5983 + v: ~(nested.err1.x.#V) 5984 #V: (_|_){ 5985 // [eval] 5986 c: (_|_){ 5987 // [eval] 5988 - f: (_|_){ 5989 - // [eval] nested.err1.x.#V.c.f: field not allowed: 5990 - // ./reroot.cue:112:5 5991 - // ./reroot.cue:114:6 5992 - // ./reroot.cue:117:7 5993 - // ./reroot.cue:117:11 5994 - // ./reroot.cue:122:8 5995 - // ./reroot.cue:123:6 5996 - } 5997 - g: (int){ 1 } 5998 d: (_|_){ 5999 // [eval] nested.err1.x.#V.c.d: field not allowed: 6000 - // ./reroot.cue:112:5 6001 - // ./reroot.cue:114:6 6002 - // ./reroot.cue:117:7 6003 - // ./reroot.cue:118:5 6004 - // ./reroot.cue:122:8 6005 - // ./reroot.cue:123:6 6006 - } 6007 + // ./reroot.cue:118:5 6008 + } 6009 + f: (_|_){ 6010 + // [eval] nested.err1.x.#V.c.f: field not allowed: 6011 + // ./reroot.cue:114:6 6012 + } 6013 + g: (int){ 1 } 6014 } 6015 } 6016 } 6017 @@ -1894,16 +1275,11 @@ 6018 b: (#struct){ 6019 f: (int){ 1 } 6020 } 6021 - v: (#struct){ 6022 - c: (#struct){ 6023 - f: (int){ 1 } 6024 - d: (int){ 1 } 6025 - } 6026 - } 6027 + v: ~(nested.err1.#A.#V) 6028 #V: (#struct){ 6029 c: (#struct){ 6030 - f: (int){ 1 } 6031 - d: (int){ 1 } 6032 + d: (int){ 1 } 6033 + f: (int){ 1 } 6034 } 6035 } 6036 } 6037 @@ -1926,14 +1302,12 @@ 6038 // [eval] 6039 g: (_|_){ 6040 // [eval] nested.err2.x.b.g: field not allowed: 6041 - // ./reroot.cue:128:6 6042 - // ./reroot.cue:136:5 6043 // ./reroot.cue:137:8 6044 } 6045 } 6046 c: (#struct){ 6047 + d: (int){ 1 } 6048 g: (int){ 1 } 6049 - d: (int){ 1 } 6050 } 6051 } 6052 } 6053 @@ -1946,11 +1320,11 @@ 6054 } 6055 } 6056 } 6057 - err1: (struct){ 6058 + err1: (#struct){ 6059 name: (string){ "a" } 6060 age1: (int){ 5 } 6061 } 6062 - err2: (struct){ 6063 + err2: (#struct){ 6064 name: (string){ "a" } 6065 age2: (int){ 5 } 6066 } 6067 @@ -2097,20 +1471,20 @@ 6068 } 6069 } 6070 original: (struct){ 6071 - Y: (struct){ 6072 - b: (struct){ 6073 - c: (string){ "v1" } 6074 - } 6075 - } 6076 - out: (struct){ 6077 - b: (struct){ 6078 + Y: (#struct){ 6079 + b: (#struct){ 6080 + c: (string){ "v1" } 6081 + } 6082 + } 6083 + out: (#struct){ 6084 + b: (#struct){ 6085 c: (string){ "v1" } 6086 } 6087 } 6088 } 6089 moreInlining: (struct){ 6090 - out: (struct){ 6091 - b: (struct){ 6092 + out: (#struct){ 6093 + b: (#struct){ 6094 c: (string){ "v1" } 6095 } 6096 } 6097 @@ -2134,8 +1508,8 @@ 6098 empty: (#struct){ 6099 } 6100 } 6101 - out: (struct){ 6102 - b: (struct){ 6103 + out: (#struct){ 6104 + b: (#struct){ 6105 c: (string){ "v1" } 6106 } 6107 } 6108 @@ -2152,13 +1526,13 @@ 6109 empty: (#struct){ 6110 } 6111 } 6112 - Y: (struct){ 6113 - c: (struct){ 6114 - d: (string){ "v1" } 6115 - } 6116 - } 6117 - Z: (struct){ 6118 - c: (struct){ 6119 + Y: (#struct){ 6120 + c: (#struct){ 6121 + d: (string){ "v1" } 6122 + } 6123 + } 6124 + Z: (#struct){ 6125 + c: (#struct){ 6126 d: (string){ "v1" } 6127 } 6128 } 6129 -- diff/todo/p2 -- 6130 Positions / reordering 6131 -- diff/explanation -- 6132 inline.err*.age*: fields are now correctly not allowed. 6133 patterns.*.andOrEmbed.t2.ok2: erroneous in V2 6134 mixInDef: arguably should all be erroneous, but definitely refOutside. 6135 indirect.embed: now correctly fails for V3. 6136 issue2241: now correctly fails for V3. 6137 -- out/compile -- 6138 --- ellipsis.cue 6139 { 6140 issue3778: { 6141 full: { 6142 #x: { 6143 a?: string 6144 } 6145 #y: (〈0;#x〉 & { 6146 ... 6147 }) 6148 z: (〈0;#y〉 & { 6149 a: "ok" 6150 b: "something" 6151 }) 6152 } 6153 } 6154 issue3778: { 6155 keepOpen: { 6156 #x: { 6157 a?: string 6158 ... 6159 } 6160 #y: (〈0;#x〉 & { 6161 ... 6162 }) 6163 z: (〈0;#y〉 & { 6164 a: "ok" 6165 b: "something" 6166 }) 6167 } 6168 } 6169 issue1867: { 6170 one: { 6171 #T: close({}) 6172 #T: { 6173 ... 6174 } 6175 x: 〈0;#T〉 6176 x: { 6177 foo: "foo" 6178 } 6179 } 6180 } 6181 issue1867: { 6182 two: { 6183 #S: {} 6184 #T: { 6185 s: 〈1;#S〉 6186 } 6187 #T: { 6188 s: { 6189 ... 6190 } 6191 } 6192 x: 〈0;#T〉.s 6193 x: { 6194 foo: "foo" 6195 } 6196 } 6197 } 6198 issue1867: { 6199 three: { 6200 #T: { 6201 s: close({}) 6202 } 6203 #T: { 6204 s: { 6205 ... 6206 } 6207 } 6208 x: 〈0;#T〉.s 6209 x: { 6210 foo: "foo" 6211 } 6212 } 6213 } 6214 issue3924: { 6215 one: { 6216 #Schema: { 6217 ... 6218 { 6219 [string]: 〈2;#SchemaInner〉 6220 } 6221 } 6222 #SchemaInner: { 6223 allowed?: string 6224 } 6225 out: (〈0;#Schema〉 & { 6226 foo: { 6227 disallowed: "foo" 6228 } 6229 }) 6230 } 6231 } 6232 issue3924: { 6233 two: { 6234 #Schema: { 6235 { 6236 [string]: 〈1;#job〉 6237 } 6238 #job: (matchN(1, [ 6239 { 6240 other?: string 6241 ... 6242 }, 6243 ]) & close({ 6244 allowed?: string 6245 })) 6246 } 6247 out: (〈0;#Schema〉 & { 6248 foo: { 6249 disallowed: "bar" 6250 } 6251 }) 6252 } 6253 } 6254 } 6255 --- embed.cue 6256 { 6257 issue3325: { 6258 ok: { 6259 #Items: { 6260 [string]: { 6261 name: 〈1;-〉 6262 } 6263 } 6264 #Base: { 6265 name: "base" 6266 type: string 6267 items: 〈1;#Items〉 6268 } 6269 #Extended: (〈0;#Base〉 & { 6270 type: "extended" 6271 items: { 6272 "my-item": {} 6273 } 6274 }) 6275 broken: { 6276 〈1;#Base〉 6277 〈1;#Extended〉 6278 } 6279 works: { 6280 〈1;#Extended〉 6281 〈1;#Base〉 6282 } 6283 } 6284 } 6285 patterns: { 6286 shallow: { 6287 #a: { 6288 [>="k"]: int 6289 } 6290 #b: { 6291 [<="m"]: int 6292 } 6293 #c: { 6294 [>="w"]: int 6295 } 6296 #d: { 6297 [<="y"]: int 6298 } 6299 single: { 6300 X: 〈1;#a〉 6301 err: 〈0;X〉 6302 err: { 6303 j: 3 6304 } 6305 ok: 〈0;X〉 6306 ok: { 6307 k: 3 6308 } 6309 } 6310 and: { 6311 p1: { 6312 X: (〈2;#a〉 & 〈2;#b〉) 6313 err: 〈0;X〉 6314 err: { 6315 j: 3 6316 } 6317 ok: 〈0;X〉 6318 ok: { 6319 k: 3 6320 } 6321 } 6322 } 6323 and: { 6324 p2: { 6325 X: (〈2;#b〉 & 〈2;#a〉) 6326 err: 〈0;X〉 6327 err: { 6328 j: 3 6329 } 6330 ok: 〈0;X〉 6331 ok: { 6332 k: 3 6333 } 6334 } 6335 } 6336 andEmbed: { 6337 p1: { 6338 X: { 6339 (〈3;#a〉 & 〈3;#b〉) 6340 } 6341 err: 〈0;X〉 6342 err: { 6343 j: 3 6344 } 6345 ok: 〈0;X〉 6346 ok: { 6347 k: 3 6348 } 6349 } 6350 } 6351 andEmbed: { 6352 p2: { 6353 X: { 6354 (〈3;#b〉 & 〈3;#a〉) 6355 } 6356 err: 〈0;X〉 6357 err: { 6358 j: 3 6359 } 6360 ok: 〈0;X〉 6361 ok: { 6362 k: 3 6363 } 6364 } 6365 } 6366 orEmbed: { 6367 p1: { 6368 X: { 6369 〈3;#a〉 6370 〈3;#b〉 6371 } 6372 ok1: 〈0;X〉 6373 ok1: { 6374 j: 3 6375 } 6376 ok2: 〈0;X〉 6377 ok2: { 6378 k: 3 6379 } 6380 } 6381 } 6382 orEmbed: { 6383 p2: { 6384 X: { 6385 〈3;#b〉 6386 〈3;#a〉 6387 } 6388 ok1: 〈0;X〉 6389 ok1: { 6390 j: 3 6391 } 6392 ok2: 〈0;X〉 6393 ok2: { 6394 k: 3 6395 } 6396 } 6397 } 6398 andOrEmbed: { 6399 t1: { 6400 p1: { 6401 X: { 6402 (〈4;#a〉 & 〈4;#b〉) 6403 (〈4;#c〉 & 〈4;#d〉) 6404 } 6405 err1: 〈0;X〉 6406 err1: { 6407 j: 3 6408 } 6409 ok1: 〈0;X〉 6410 ok1: { 6411 k: 3 6412 } 6413 } 6414 } 6415 } 6416 andOrEmbed: { 6417 t1: { 6418 p2: { 6419 X: { 6420 (〈4;#c〉 & 〈4;#d〉) 6421 (〈4;#a〉 & 〈4;#b〉) 6422 } 6423 err1: 〈0;X〉 6424 err1: { 6425 j: 3 6426 } 6427 ok1: 〈0;X〉 6428 ok1: { 6429 k: 3 6430 } 6431 } 6432 } 6433 } 6434 andOrEmbed: { 6435 t2: { 6436 X: { 6437 (〈3;#a〉 & 〈3;#b〉) 6438 (〈3;#c〉 & 〈3;#d〉) 6439 ["p"]: int 6440 } 6441 err1: 〈0;X〉 6442 err1: { 6443 j: 3 6444 } 6445 ok1: 〈0;X〉 6446 ok1: { 6447 k: 3 6448 } 6449 ok2: 〈0;X〉 6450 ok2: { 6451 p: 3 6452 } 6453 } 6454 } 6455 indirect: { 6456 a: { 6457 [>="k"]: int 6458 } 6459 #a: 〈0;a〉 6460 p1: { 6461 X: 〈1;#a〉 6462 err1: 〈0;X〉 6463 err1: { 6464 j: 3 6465 } 6466 err2: (〈0;X〉 & _|_(no sharing)) 6467 err2: { 6468 j: 3 6469 } 6470 ok: 〈0;X〉 6471 ok: { 6472 k: 3 6473 } 6474 } 6475 p2: { 6476 #a: (〈1;a〉 & _|_(no sharing)) 6477 X: 〈0;#a〉 6478 err1: 〈0;X〉 6479 err1: { 6480 j: 3 6481 } 6482 err2: (〈0;X〉 & _|_(no sharing)) 6483 err2: { 6484 j: 3 6485 } 6486 ok: 〈0;X〉 6487 ok: { 6488 k: 3 6489 } 6490 } 6491 p3: { 6492 X: (〈1;#a〉 & _|_(no sharing)) 6493 err1: 〈0;X〉 6494 err1: { 6495 j: 3 6496 } 6497 err2: (〈0;X〉 & _|_(no sharing)) 6498 err2: { 6499 j: 3 6500 } 6501 ok: 〈0;X〉 6502 ok: { 6503 k: 3 6504 } 6505 } 6506 p4: { 6507 #a: (〈1;a〉 & _|_(no sharing)) 6508 X: 〈0;#a〉 6509 X: (〈0;#a〉 & _|_(no sharing)) 6510 err1: 〈0;X〉 6511 err1: { 6512 j: 3 6513 } 6514 err2: (〈0;X〉 & _|_(no sharing)) 6515 err2: { 6516 j: 3 6517 } 6518 ok: 〈0;X〉 6519 ok: { 6520 k: 3 6521 } 6522 } 6523 } 6524 } 6525 } 6526 patterns: { 6527 nested: { 6528 #a: { 6529 x: { 6530 y: { 6531 [>="k"]: int 6532 } 6533 } 6534 } 6535 #b: { 6536 x: { 6537 y: { 6538 [<="m"]: int 6539 } 6540 } 6541 } 6542 #c: { 6543 x: { 6544 y: { 6545 [>="w"]: int 6546 } 6547 } 6548 } 6549 #d: { 6550 x: { 6551 y: { 6552 [<="y"]: int 6553 } 6554 } 6555 } 6556 single: { 6557 X: 〈1;#a〉 6558 err: 〈0;X〉 6559 err: { 6560 x: { 6561 y: { 6562 j: 3 6563 } 6564 } 6565 } 6566 ok: 〈0;X〉 6567 ok: { 6568 x: { 6569 y: { 6570 k: 3 6571 } 6572 } 6573 } 6574 } 6575 and: { 6576 p1: { 6577 X: (〈2;#a〉 & 〈2;#b〉) 6578 err: 〈0;X〉 6579 err: { 6580 x: { 6581 y: { 6582 j: 3 6583 } 6584 } 6585 } 6586 ok: 〈0;X〉 6587 ok: { 6588 x: { 6589 y: { 6590 k: 3 6591 } 6592 } 6593 } 6594 } 6595 } 6596 and: { 6597 p2: { 6598 X: (〈2;#b〉 & 〈2;#a〉) 6599 err: 〈0;X〉 6600 err: { 6601 x: { 6602 y: { 6603 j: 3 6604 } 6605 } 6606 } 6607 ok: 〈0;X〉 6608 ok: { 6609 x: { 6610 y: { 6611 k: 3 6612 } 6613 } 6614 } 6615 } 6616 } 6617 andEmbed: { 6618 p1: { 6619 X: { 6620 (〈3;#a〉 & 〈3;#b〉) 6621 } 6622 err: 〈0;X〉 6623 err: { 6624 x: { 6625 y: { 6626 j: 3 6627 } 6628 } 6629 } 6630 ok: 〈0;X〉 6631 ok: { 6632 x: { 6633 y: { 6634 k: 3 6635 } 6636 } 6637 } 6638 } 6639 } 6640 andEmbed: { 6641 p2: { 6642 X: { 6643 (〈3;#b〉 & 〈3;#a〉) 6644 } 6645 err: 〈0;X〉 6646 err: { 6647 x: { 6648 y: { 6649 j: 3 6650 } 6651 } 6652 } 6653 ok: 〈0;X〉 6654 ok: { 6655 x: { 6656 y: { 6657 k: 3 6658 } 6659 } 6660 } 6661 } 6662 } 6663 orEmbed: { 6664 p1: { 6665 X: { 6666 〈3;#a〉 6667 〈3;#b〉 6668 } 6669 ok1: 〈0;X〉 6670 ok1: { 6671 x: { 6672 y: { 6673 j: 3 6674 } 6675 } 6676 } 6677 ok2: 〈0;X〉 6678 ok2: { 6679 x: { 6680 y: { 6681 k: 3 6682 } 6683 } 6684 } 6685 } 6686 } 6687 orEmbed: { 6688 p2: { 6689 X: { 6690 〈3;#b〉 6691 〈3;#a〉 6692 } 6693 ok1: 〈0;X〉 6694 ok1: { 6695 x: { 6696 y: { 6697 j: 3 6698 } 6699 } 6700 } 6701 ok2: 〈0;X〉 6702 ok2: { 6703 x: { 6704 y: { 6705 k: 3 6706 } 6707 } 6708 } 6709 } 6710 } 6711 andOrEmbed: { 6712 t1: { 6713 p1: { 6714 X: { 6715 (〈4;#a〉 & 〈4;#b〉) 6716 (〈4;#c〉 & 〈4;#d〉) 6717 } 6718 err1: 〈0;X〉 6719 err1: { 6720 x: { 6721 y: { 6722 j: 3 6723 } 6724 } 6725 } 6726 ok1: 〈0;X〉 6727 ok1: { 6728 x: { 6729 y: { 6730 k: 3 6731 } 6732 } 6733 } 6734 } 6735 } 6736 } 6737 andOrEmbed: { 6738 t1: { 6739 p2: { 6740 X: { 6741 (〈4;#c〉 & 〈4;#d〉) 6742 (〈4;#a〉 & 〈4;#b〉) 6743 } 6744 err1: 〈0;X〉 6745 err1: { 6746 x: { 6747 y: { 6748 j: 3 6749 } 6750 } 6751 } 6752 ok1: 〈0;X〉 6753 ok1: { 6754 x: { 6755 y: { 6756 k: 3 6757 } 6758 } 6759 } 6760 } 6761 } 6762 } 6763 andOrEmbed: { 6764 t2: { 6765 X: { 6766 (〈3;#a〉 & 〈3;#b〉) 6767 (〈3;#c〉 & 〈3;#d〉) 6768 ["p"]: int 6769 } 6770 err1: 〈0;X〉 6771 err1: { 6772 x: { 6773 y: { 6774 j: 3 6775 } 6776 } 6777 } 6778 ok1: 〈0;X〉 6779 ok1: { 6780 x: { 6781 y: { 6782 k: 3 6783 } 6784 } 6785 } 6786 ok2: 〈0;X〉 6787 ok2: { 6788 x: { 6789 y: { 6790 p: 3 6791 } 6792 } 6793 } 6794 } 6795 } 6796 indirect: { 6797 a: { 6798 x: { 6799 y: { 6800 [>="k"]: int 6801 } 6802 } 6803 } 6804 #a: 〈0;a〉 6805 p1: { 6806 X: 〈1;#a〉 6807 err1: 〈0;X〉 6808 err1: { 6809 x: { 6810 y: { 6811 j: 3 6812 } 6813 } 6814 } 6815 err2: (〈0;X〉 & _|_(no sharing)) 6816 err2: { 6817 x: { 6818 y: { 6819 j: 3 6820 } 6821 } 6822 } 6823 ok: 〈0;X〉 6824 ok: { 6825 x: { 6826 y: { 6827 k: 3 6828 } 6829 } 6830 } 6831 } 6832 p2: { 6833 #a: (〈1;a〉 & _|_(no sharing)) 6834 X: 〈0;#a〉 6835 err1: 〈0;X〉 6836 err1: { 6837 x: { 6838 y: { 6839 j: 3 6840 } 6841 } 6842 } 6843 err2: (〈0;X〉 & _|_(no sharing)) 6844 err2: { 6845 x: { 6846 y: { 6847 j: 3 6848 } 6849 } 6850 } 6851 ok: 〈0;X〉 6852 ok: { 6853 x: { 6854 y: { 6855 k: 3 6856 } 6857 } 6858 } 6859 } 6860 p3: { 6861 X: (〈1;#a〉 & _|_(no sharing)) 6862 err1: 〈0;X〉 6863 err1: { 6864 x: { 6865 y: { 6866 j: 3 6867 } 6868 } 6869 } 6870 err2: (〈0;X〉 & _|_(no sharing)) 6871 err2: { 6872 x: { 6873 y: { 6874 j: 3 6875 } 6876 } 6877 } 6878 ok: 〈0;X〉 6879 ok: { 6880 x: { 6881 y: { 6882 k: 3 6883 } 6884 } 6885 } 6886 } 6887 p4: { 6888 #a: (〈1;a〉 & _|_(no sharing)) 6889 X: 〈0;#a〉 6890 X: (〈0;#a〉 & _|_(no sharing)) 6891 err1: 〈0;X〉 6892 err1: { 6893 x: { 6894 y: { 6895 j: 3 6896 } 6897 } 6898 } 6899 err2: (〈0;X〉 & _|_(no sharing)) 6900 err2: { 6901 x: { 6902 y: { 6903 j: 3 6904 } 6905 } 6906 } 6907 ok: 〈0;X〉 6908 ok: { 6909 x: { 6910 y: { 6911 k: 3 6912 } 6913 } 6914 } 6915 } 6916 } 6917 } 6918 } 6919 issue2241: { 6920 #close: {} 6921 a: { 6922 x: { 6923 q: 2 6924 } 6925 〈1;#close〉 6926 } 6927 b: 〈0;a〉 6928 b: { 6929 x: { 6930 r: 4 6931 } 6932 } 6933 } 6934 } 6935 --- in.cue 6936 { 6937 #E: { 6938 c: int 6939 } 6940 #A: { 6941 b: int 6942 q: { 6943 〈2;#E〉 6944 d: int 6945 } 6946 } 6947 a: (〈0;#A〉 & { 6948 b: 3 6949 q: { 6950 c: 2 6951 e: 43 6952 } 6953 }) 6954 issue852: { 6955 #A: { 6956 [=~"^a-z$"]: string 6957 } 6958 a: 〈0;#A〉 6959 a: { 6960 Foo: "foo" 6961 } 6962 for k, v in 〈0;a〉 { 6963 b: { 6964 "\(〈2;k〉)": 〈2;v〉 6965 } 6966 } 6967 } 6968 dynamic: { 6969 #D: { 6970 key: "foo" 6971 〈0;key〉: int 6972 } 6973 d: (〈0;#D〉 & { 6974 foo: 3 6975 }) 6976 } 6977 } 6978 --- reroot.cue 6979 { 6980 issue3330: { 6981 let: { 6982 ok: { 6983 #struct: { 6984 let empty#1 = {} 6985 field: (null|{ 6986 n: int 6987 }) 6988 field: (〈0;let empty#1〉 & { 6989 n: 3 6990 }) 6991 } 6992 out: 〈import;list〉.Concat([ 6993 [ 6994 〈2;#struct〉, 6995 ], 6996 ]) 6997 } 6998 } 6999 matthew: { 7000 ok1: { 7001 #struct: { 7002 field: ({ 7003 n: 3 7004 } & 〈0;g〉) 7005 g: {} 7006 } 7007 out: (〈0;#struct〉 & {}) 7008 } 7009 } 7010 matthew: { 7011 ok2: { 7012 #struct: { 7013 field: ({ 7014 n: 3 7015 } & 〈0;g〉) 7016 g: {} 7017 } 7018 out: 〈0;#struct〉 7019 out2: (〈0;out〉 & {}) 7020 } 7021 } 7022 } 7023 issue3331: { 7024 original: { 7025 ok: { 7026 #A: { 7027 let b#2 = {} 7028 c: (〈0;let b#2〉 & { 7029 d: 1 7030 }) 7031 } 7032 〈import;list〉.Concat([ 7033 [ 7034 〈2;#A〉, 7035 ], 7036 ]) 7037 } 7038 } 7039 variant1: { 7040 ok: { 7041 #A: { 7042 let b#3 = {} 7043 c: (〈0;let b#3〉 & { 7044 d: 1 7045 }) 7046 } 7047 [ 7048 [ 7049 〈2;#A〉, 7050 ], 7051 ] 7052 } 7053 } 7054 } 7055 indirect: { 7056 embed: { 7057 err1: { 7058 #A: { 7059 x: { 7060 〈2;#x〉 7061 〈2;#y〉 7062 } 7063 zx: 〈0;x〉.a 7064 } 7065 #x: { 7066 a: { 7067 b: 1 7068 } 7069 } 7070 #y: { 7071 a: { 7072 c: 2 7073 } 7074 } 7075 b: 〈0;#A〉 7076 b1: 〈0;b〉.zx 7077 b1: { 7078 d: 1 7079 } 7080 } 7081 } 7082 closed: { 7083 err1: { 7084 X: { 7085 a: 〈0;b〉 7086 b: {} 7087 a: { 7088 e: 1 7089 } 7090 } 7091 Y: 〈0;X〉 7092 Y: { 7093 b: 〈0;c〉 7094 c: 〈1;#X〉 7095 } 7096 #X: {} 7097 } 7098 } 7099 } 7100 nested: { 7101 ok1: { 7102 #A: { 7103 b: {} 7104 #B: { 7105 c: (〈1;b〉 & { 7106 d: 1 7107 }) 7108 } 7109 } 7110 x: 〈0;#A〉 7111 } 7112 } 7113 nested: { 7114 embed: { 7115 ok: { 7116 x: 〈0;#A〉 7117 #A: { 7118 〈1;k〉 7119 } 7120 k: { 7121 d: (〈0;b〉 & { 7122 e: int 7123 }) 7124 b: {} 7125 } 7126 } 7127 } 7128 } 7129 nested: { 7130 err1: { 7131 x: 〈0;#A〉 7132 #A: { 7133 b: { 7134 f: 1 7135 } 7136 v: 〈0;#V〉 7137 #V: { 7138 c: (〈1;b〉 & { 7139 d: 1 7140 }) 7141 } 7142 } 7143 x: { 7144 b: 〈1;#B〉 7145 } 7146 #B: { 7147 g: 1 7148 } 7149 } 7150 } 7151 nested: { 7152 err2: { 7153 #A: { 7154 b: {} 7155 c: (〈0;b〉 & { 7156 d: 1 7157 }) 7158 } 7159 x: 〈0;#A〉 7160 x: { 7161 b: { 7162 g: 1 7163 } 7164 } 7165 } 7166 } 7167 inline: { 7168 #x: { 7169 y: { 7170 z?: { 7171 name: string 7172 } 7173 } 7174 } 7175 err1: ((〈0;#x〉 & { 7176 y: { 7177 z: _ 7178 } 7179 }).y.z & { 7180 name: "a" 7181 age1: 5 7182 }) 7183 err2: ((〈0;#x〉.y & { 7184 z: _ 7185 }).z & { 7186 name: "a" 7187 age2: 5 7188 }) 7189 } 7190 mixInDef: { 7191 refInside: { 7192 #x: { 7193 b: { 7194 c: { 7195 d: {} 7196 e: { 7197 f: {} 7198 } 7199 } 7200 } 7201 } 7202 a: 〈0;#x〉 7203 a: { 7204 b: { 7205 c: { 7206 d: {} 7207 } 7208 } 7209 } 7210 a: { 7211 b: { 7212 c: { 7213 e: 〈1;c〉.d 7214 } 7215 } 7216 } 7217 } 7218 refEdge: { 7219 #x: { 7220 c: { 7221 d: {} 7222 e: { 7223 f: {} 7224 } 7225 } 7226 } 7227 a: 〈0;#x〉 7228 a: { 7229 c: { 7230 d: {} 7231 } 7232 } 7233 a: { 7234 c: { 7235 e: 〈1;c〉.d 7236 } 7237 } 7238 } 7239 refOutside: { 7240 #x: { 7241 c: { 7242 d: {} 7243 e: { 7244 f: {} 7245 } 7246 } 7247 } 7248 a: 〈0;#x〉 7249 a: { 7250 c: { 7251 d: {} 7252 } 7253 } 7254 a: { 7255 c: { 7256 e: 〈2;a〉.c.d 7257 } 7258 } 7259 } 7260 } 7261 issue3601: { 7262 original: { 7263 out: { 7264 〈1;#Transform〉.output 7265 } 7266 #Transform: { 7267 output: (〈1;#Patch〉 & {}).output 7268 } 7269 #Patch: { 7270 target: {} 7271 output: { 7272 foo: { 7273 final: 〈2;target〉 7274 final: { 7275 version: "v1" 7276 } 7277 } 7278 } 7279 } 7280 } 7281 } 7282 issue3601: { 7283 originalNoShare: { 7284 out: { 7285 〈1;#Transform〉.output 7286 } 7287 #Transform: { 7288 output: (〈1;#Patch〉 & _|_(no sharing)).output 7289 } 7290 #Patch: { 7291 target: {} 7292 output: { 7293 foo: { 7294 final: 〈2;target〉 7295 final: { 7296 version: "v1" 7297 } 7298 } 7299 } 7300 } 7301 } 7302 } 7303 issue3601: { 7304 reduced: { 7305 #X: { 7306 a: { 7307 b: { 7308 c: "v1" 7309 } 7310 } 7311 a: { 7312 b: 〈1;empty〉 7313 } 7314 empty: {} 7315 } 7316 original: { 7317 Y: (〈1;#X〉 & _|_(no sharing)).a 7318 out: (〈0;Y〉 & _|_(no sharing)) 7319 } 7320 moreInlining: { 7321 out: ((〈1;#X〉 & {}).a & {}) 7322 } 7323 noInline: { 7324 Y: (〈1;#X〉 & _|_(no sharing)) 7325 Z: (〈0;Y〉 & _|_(no sharing)) 7326 out: (〈0;Z〉.a & _|_(no sharing)) 7327 } 7328 moreNesting: { 7329 #X: { 7330 a: { 7331 b: { 7332 c: { 7333 d: "v1" 7334 } 7335 } 7336 } 7337 a: { 7338 b: { 7339 c: 〈2;empty〉 7340 } 7341 } 7342 empty: {} 7343 } 7344 Y: (〈0;#X〉.a & _|_(no sharing)).b 7345 Z: (〈0;Y〉 & _|_(no sharing)) 7346 } 7347 } 7348 } 7349 } 7350 --- validation.cue 7351 { 7352 issue3332: { 7353 #def: { 7354 field: 〈import;list〉.MinItems(1) 7355 } 7356 use: (〈0;#def〉 & { 7357 field: [ 7358 "value", 7359 ] 7360 }) 7361 } 7362 }