Commit 8628185
Reject recursive argument schemas instead of overflowing the stack
toParseSpec and unionToParseSpec descend into ambient records and
unions by name with no memory of what they were already expanding, so a
schema which refers to itself (even indirectly, e.g. a union whose case
payload record holds a field of that union) recursed until the Myriad
subprocess died with a stack overflow. Thread the chain of types
currently being lowered through the recursion and fail with the cycle
path on re-entry.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent 96f7204 commit 8628185
2 files changed
Lines changed: 116 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
811 | 811 | | |
812 | 812 | | |
813 | 813 | | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
814 | 828 | | |
| 829 | + | |
815 | 830 | | |
816 | 831 | | |
817 | 832 | | |
818 | 833 | | |
819 | 834 | | |
820 | 835 | | |
821 | 836 | | |
| 837 | + | |
| 838 | + | |
822 | 839 | | |
823 | 840 | | |
824 | 841 | | |
| |||
911 | 928 | | |
912 | 929 | | |
913 | 930 | | |
914 | | - | |
| 931 | + | |
| 932 | + | |
915 | 933 | | |
916 | 934 | | |
917 | 935 | | |
| |||
921 | 939 | | |
922 | 940 | | |
923 | 941 | | |
924 | | - | |
| 942 | + | |
925 | 943 | | |
926 | 944 | | |
927 | 945 | | |
| |||
1051 | 1069 | | |
1052 | 1070 | | |
1053 | 1071 | | |
| 1072 | + | |
1054 | 1073 | | |
1055 | 1074 | | |
1056 | 1075 | | |
1057 | 1076 | | |
1058 | 1077 | | |
1059 | 1078 | | |
1060 | 1079 | | |
| 1080 | + | |
| 1081 | + | |
1061 | 1082 | | |
1062 | 1083 | | |
1063 | 1084 | | |
| |||
1084 | 1105 | | |
1085 | 1106 | | |
1086 | 1107 | | |
1087 | | - | |
| 1108 | + | |
1088 | 1109 | | |
1089 | 1110 | | |
1090 | 1111 | | |
| |||
1997 | 2018 | | |
1998 | 2019 | | |
1999 | 2020 | | |
2000 | | - | |
| 2021 | + | |
2001 | 2022 | | |
2002 | 2023 | | |
2003 | 2024 | | |
| |||
2008 | 2029 | | |
2009 | 2030 | | |
2010 | 2031 | | |
2011 | | - | |
| 2032 | + | |
2012 | 2033 | | |
2013 | 2034 | | |
2014 | 2035 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
620 | 620 | | |
621 | 621 | | |
622 | 622 | | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
623 | 713 | | |
624 | 714 | | |
625 | 715 | | |
| |||
0 commit comments