Commit 56afe56
Handle possible Overflow values on individual calendars (#7795)
Fixes #7794.
`overflow` takes three values: `Constrain`, `Reject`, and `None`. `None`
is equivalent to `Constrain`, but we don't have a `ResolvedOptions` type
to fix that distinction.
_Almost_ all of `overflow`-consuming code is matching the Temporal spec,
and the Temporal spec handles unset values correctly, so this is by and
large not a problem.
However, _calendar-specific_ code is not specced by Temporal, and any
place where we handle overflows there needs to handle all cases.
@sffc and I discussed this and using `match` statements seemed to be the
most straightforward option. We could in theory introduce
`ResolvedOptions` or pre-handle the None but most of the code is written
to match the spec so this would actually potentially make the
spec-matching less clear.
## Changelog
icu_calendar: Handle possible Overflow values on individual calendars
---------
Co-authored-by: Shane F. Carr <shane@unicode.org>1 parent 5c01a77 commit 56afe56
File tree
5 files changed
+64
-52
lines changed- components/calendar/src
- cal
5 files changed
+64
-52
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
647 | 647 | | |
648 | 648 | | |
649 | 649 | | |
650 | | - | |
| 650 | + | |
651 | 651 | | |
652 | 652 | | |
653 | 653 | | |
| |||
663 | 663 | | |
664 | 664 | | |
665 | 665 | | |
666 | | - | |
667 | | - | |
668 | | - | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
669 | 673 | | |
670 | 674 | | |
671 | 675 | | |
| |||
1650 | 1654 | | |
1651 | 1655 | | |
1652 | 1656 | | |
1653 | | - | |
1654 | | - | |
1655 | | - | |
1656 | | - | |
1657 | 1657 | | |
1658 | 1658 | | |
1659 | 1659 | | |
| |||
1675 | 1675 | | |
1676 | 1676 | | |
1677 | 1677 | | |
1678 | | - | |
| 1678 | + | |
1679 | 1679 | | |
1680 | 1680 | | |
1681 | 1681 | | |
| |||
1686 | 1686 | | |
1687 | 1687 | | |
1688 | 1688 | | |
1689 | | - | |
1690 | | - | |
1691 | | - | |
1692 | | - | |
1693 | 1689 | | |
1694 | 1690 | | |
1695 | 1691 | | |
1696 | 1692 | | |
1697 | 1693 | | |
1698 | 1694 | | |
1699 | 1695 | | |
1700 | | - | |
| 1696 | + | |
1701 | 1697 | | |
1702 | 1698 | | |
1703 | 1699 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
217 | 217 | | |
218 | 218 | | |
219 | 219 | | |
220 | | - | |
| 220 | + | |
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
226 | 226 | | |
227 | 227 | | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | 228 | | |
232 | | - | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
233 | 234 | | |
234 | 235 | | |
235 | 236 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
258 | 258 | | |
259 | 259 | | |
260 | 260 | | |
261 | | - | |
| 261 | + | |
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
| |||
340 | 340 | | |
341 | 341 | | |
342 | 342 | | |
343 | | - | |
| 343 | + | |
344 | 344 | | |
345 | 345 | | |
346 | 346 | | |
| |||
367 | 367 | | |
368 | 368 | | |
369 | 369 | | |
370 | | - | |
| 370 | + | |
371 | 371 | | |
372 | 372 | | |
373 | 373 | | |
| |||
389 | 389 | | |
390 | 390 | | |
391 | 391 | | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
392 | 395 | | |
393 | 396 | | |
394 | 397 | | |
| |||
444 | 447 | | |
445 | 448 | | |
446 | 449 | | |
447 | | - | |
| 450 | + | |
448 | 451 | | |
449 | 452 | | |
450 | 453 | | |
| |||
475 | 478 | | |
476 | 479 | | |
477 | 480 | | |
478 | | - | |
| 481 | + | |
479 | 482 | | |
480 | 483 | | |
481 | 484 | | |
| |||
488 | 491 | | |
489 | 492 | | |
490 | 493 | | |
491 | | - | |
| 494 | + | |
492 | 495 | | |
493 | 496 | | |
494 | 497 | | |
| |||
506 | 509 | | |
507 | 510 | | |
508 | 511 | | |
509 | | - | |
| 512 | + | |
510 | 513 | | |
511 | 514 | | |
512 | 515 | | |
| |||
515 | 518 | | |
516 | 519 | | |
517 | 520 | | |
518 | | - | |
| 521 | + | |
519 | 522 | | |
520 | 523 | | |
521 | 524 | | |
| |||
770 | 773 | | |
771 | 774 | | |
772 | 775 | | |
773 | | - | |
774 | | - | |
775 | | - | |
776 | | - | |
777 | | - | |
| 776 | + | |
778 | 777 | | |
779 | 778 | | |
780 | 779 | | |
| |||
870 | 869 | | |
871 | 870 | | |
872 | 871 | | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
873 | 875 | | |
874 | 876 | | |
875 | 877 | | |
| |||
879 | 881 | | |
880 | 882 | | |
881 | 883 | | |
882 | | - | |
883 | | - | |
884 | | - | |
885 | | - | |
886 | | - | |
| 884 | + | |
887 | 885 | | |
888 | 886 | | |
889 | 887 | | |
| |||
907 | 905 | | |
908 | 906 | | |
909 | 907 | | |
910 | | - | |
| 908 | + | |
911 | 909 | | |
912 | 910 | | |
913 | 911 | | |
| |||
1155 | 1153 | | |
1156 | 1154 | | |
1157 | 1155 | | |
1158 | | - | |
1159 | | - | |
1160 | | - | |
1161 | | - | |
1162 | | - | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
1163 | 1160 | | |
1164 | 1161 | | |
1165 | 1162 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
793 | 793 | | |
794 | 794 | | |
795 | 795 | | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
796 | 823 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | 103 | | |
113 | 104 | | |
114 | 105 | | |
| |||
0 commit comments