Commit bbd30b5
authored
Rollup merge of rust-lang#134689 - RalfJung:ptr-swap-test, r=oli-obk
core: fix const ptr::swap_nonoverlapping when there are pointers at odd offsets
Ensure that the pointer gets swapped correctly even if it is not stored at an aligned offset. This rules out implementations that copy things in a `usize` loop -- so our implementation needs to be adjusted to avoid such a loop when running in const context.
Part of rust-lang#133668File tree
5 files changed
+106
-48
lines changed- library/core
- src
- intrinsics
- ptr
- tests
- tests/ui/consts
5 files changed
+106
-48
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3795 | 3795 | | |
3796 | 3796 | | |
3797 | 3797 | | |
3798 | | - | |
| 3798 | + | |
3799 | 3799 | | |
3800 | 3800 | | |
3801 | 3801 | | |
3802 | 3802 | | |
3803 | 3803 | | |
3804 | 3804 | | |
3805 | 3805 | | |
3806 | | - | |
| 3806 | + | |
3807 | 3807 | | |
3808 | 3808 | | |
3809 | 3809 | | |
| |||
3817 | 3817 | | |
3818 | 3818 | | |
3819 | 3819 | | |
3820 | | - | |
| 3820 | + | |
3821 | 3821 | | |
3822 | 3822 | | |
3823 | 3823 | | |
3824 | 3824 | | |
3825 | 3825 | | |
3826 | 3826 | | |
3827 | 3827 | | |
3828 | | - | |
| 3828 | + | |
3829 | 3829 | | |
3830 | 3830 | | |
3831 | 3831 | | |
3832 | 3832 | | |
3833 | | - | |
| 3833 | + | |
3834 | 3834 | | |
3835 | 3835 | | |
3836 | 3836 | | |
| |||
3842 | 3842 | | |
3843 | 3843 | | |
3844 | 3844 | | |
3845 | | - | |
| 3845 | + | |
3846 | 3846 | | |
3847 | 3847 | | |
3848 | 3848 | | |
3849 | 3849 | | |
3850 | 3850 | | |
3851 | 3851 | | |
3852 | | - | |
| 3852 | + | |
3853 | 3853 | | |
3854 | 3854 | | |
3855 | 3855 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
395 | 395 | | |
396 | 396 | | |
397 | 397 | | |
| 398 | + | |
398 | 399 | | |
399 | 400 | | |
400 | 401 | | |
| |||
1074 | 1075 | | |
1075 | 1076 | | |
1076 | 1077 | | |
1077 | | - | |
1078 | | - | |
1079 | | - | |
1080 | | - | |
1081 | | - | |
1082 | | - | |
1083 | | - | |
1084 | | - | |
1085 | | - | |
1086 | | - | |
1087 | | - | |
1088 | | - | |
1089 | | - | |
1090 | | - | |
1091 | | - | |
1092 | | - | |
1093 | | - | |
1094 | | - | |
1095 | | - | |
1096 | 1078 | | |
1097 | 1079 | | |
1098 | 1080 | | |
| |||
1111 | 1093 | | |
1112 | 1094 | | |
1113 | 1095 | | |
1114 | | - | |
1115 | | - | |
1116 | | - | |
1117 | | - | |
1118 | | - | |
1119 | | - | |
1120 | | - | |
1121 | | - | |
1122 | | - | |
1123 | | - | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
1124 | 1133 | | |
1125 | | - | |
1126 | | - | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
1127 | 1138 | | |
1128 | 1139 | | |
1129 | 1140 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
860 | 860 | | |
861 | 861 | | |
862 | 862 | | |
863 | | - | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
864 | 867 | | |
865 | 868 | | |
866 | 869 | | |
| |||
899 | 902 | | |
900 | 903 | | |
901 | 904 | | |
902 | | - | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
903 | 934 | | |
904 | | - | |
905 | | - | |
| 935 | + | |
| 936 | + | |
906 | 937 | | |
907 | | - | |
908 | | - | |
909 | | - | |
| 938 | + | |
| 939 | + | |
910 | 940 | | |
911 | | - | |
| 941 | + | |
912 | 942 | | |
913 | 943 | | |
914 | 944 | | |
915 | | - | |
916 | | - | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
917 | 960 | | |
918 | 961 | | |
919 | 962 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
| 25 | + | |
23 | 26 | | |
24 | 27 | | |
25 | 28 | | |
| |||
0 commit comments