forked fromdotnet/fsharp
- Notifications
You must be signed in to change notification settings - Fork0
Commitd8ee80f
committed
[F#] Slicing and range expression inconsistent
Slice expressions (ex., e1.[e1..e2]) looks similar to range expression (ex., [| e1 .. e2 |] ) but their behaviors are not consistent when length < 0. For example, [| 1..10 |].[3..1] raises overflow exception while [| 3..1 |] evaluates [| |]. In this shelveset, length check is added consistently for array/string slice expressions, so their behaviors looks consistent.Additionally, for open-ended slices (e.g., m.[1..] or m.[..5]), exception would raise for invalid range. (changeset 1231622)1 parentebf2bc4 commitd8ee80f
File tree
2 files changed
+99
-57
lines changed- src/fsharp/FSharp.Core
- tests/fsharp/core/array
2 files changed
+99
-57
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
797 | 797 | | |
798 | 798 | | |
799 | 799 | | |
| 800 | + | |
800 | 801 | | |
801 | 802 | | |
802 | 803 | | |
| |||
4929 | 4930 | | |
4930 | 4931 | | |
4931 | 4932 | | |
4932 | | - | |
| 4933 | + | |
| 4934 | + | |
| 4935 | + | |
| 4936 | + | |
| 4937 | + | |
| 4938 | + | |
| 4939 | + | |
4933 | 4940 | | |
4934 | | - | |
4935 | | - | |
4936 | | - | |
| 4941 | + | |
| 4942 | + | |
4937 | 4943 | | |
4938 | 4944 | | |
4939 | 4945 | | |
4940 | 4946 | | |
4941 | 4947 | | |
4942 | 4948 | | |
4943 | 4949 | | |
4944 | | - | |
4945 | | - | |
4946 | | - | |
4947 | | - | |
4948 | | - | |
| 4950 | + | |
| 4951 | + | |
| 4952 | + | |
4949 | 4953 | | |
4950 | 4954 | | |
4951 | 4955 | | |
4952 | 4956 | | |
4953 | 4957 | | |
4954 | | - | |
4955 | | - | |
| 4958 | + | |
4956 | 4959 | | |
4957 | | - | |
| 4960 | + | |
4958 | 4961 | | |
4959 | 4962 | | |
4960 | 4963 | | |
4961 | 4964 | | |
4962 | | - | |
4963 | | - | |
4964 | | - | |
| 4965 | + | |
| 4966 | + | |
4965 | 4967 | | |
4966 | | - | |
| 4968 | + | |
4967 | 4969 | | |
4968 | 4970 | | |
4969 | 4971 | | |
| |||
4989 | 4991 | | |
4990 | 4992 | | |
4991 | 4993 | | |
4992 | | - | |
4993 | | - | |
4994 | | - | |
4995 | | - | |
4996 | | - | |
4997 | | - | |
4998 | | - | |
| 4994 | + | |
| 4995 | + | |
| 4996 | + | |
| 4997 | + | |
4999 | 4998 | | |
5000 | 4999 | | |
5001 | 5000 | | |
| |||
5011 | 5010 | | |
5012 | 5011 | | |
5013 | 5012 | | |
5014 | | - | |
5015 | | - | |
5016 | | - | |
5017 | | - | |
5018 | | - | |
5019 | | - | |
5020 | | - | |
5021 | | - | |
| 5013 | + | |
| 5014 | + | |
| 5015 | + | |
| 5016 | + | |
5022 | 5017 | | |
5023 | 5018 | | |
5024 | 5019 | | |
| |||
5036 | 5031 | | |
5037 | 5032 | | |
5038 | 5033 | | |
5039 | | - | |
5040 | | - | |
5041 | | - | |
5042 | | - | |
5043 | | - | |
| 5034 | + | |
| 5035 | + | |
| 5036 | + | |
| 5037 | + | |
| 5038 | + | |
5044 | 5039 | | |
5045 | 5040 | | |
5046 | 5041 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
730 | 730 | | |
731 | 731 | | |
732 | 732 | | |
| 733 | + | |
733 | 734 | | |
734 | 735 | | |
735 | 736 | | |
736 | 737 | | |
737 | 738 | | |
738 | 739 | | |
739 | 740 | | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
740 | 747 | | |
741 | 748 | | |
742 | 749 | | |
743 | 750 | | |
744 | | - | |
745 | | - | |
746 | | - | |
747 | | - | |
748 | | - | |
749 | | - | |
750 | | - | |
751 | | - | |
752 | | - | |
753 | | - | |
754 | | - | |
755 | | - | |
756 | | - | |
757 | | - | |
758 | | - | |
759 | | - | |
760 | | - | |
761 | | - | |
762 | | - | |
763 | | - | |
764 | | - | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
765 | 780 | | |
766 | 781 | | |
767 | 782 | | |
| |||
780 | 795 | | |
781 | 796 | | |
782 | 797 | | |
| 798 | + | |
783 | 799 | | |
784 | 800 | | |
785 | 801 | | |
786 | 802 | | |
787 | 803 | | |
788 | 804 | | |
789 | 805 | | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
790 | 811 | | |
791 | 812 | | |
792 | 813 | | |
| |||
825 | 846 | | |
826 | 847 | | |
827 | 848 | | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
828 | 855 | | |
829 | 856 | | |
830 | 857 | | |
| |||
895 | 922 | | |
896 | 923 | | |
897 | 924 | | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
898 | 933 | | |
899 | 934 | | |
900 | 935 | | |
| |||
990 | 1025 | | |
991 | 1026 | | |
992 | 1027 | | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
993 | 1040 | | |
994 | 1041 | | |
995 | 1042 | | |
| |||
0 commit comments
Comments
(0)