Commit 591b556
committed
Make SizeEq safe
Make `SizeEq` safe by moving its safety invariant to a new `CastExact`
trait which now bounds the associated `SizeEq::CastFrom` type. This
permits us to write safety proofs in fewer places, since there are
certain `CastFrom` impls which we can re-use for many `SizeEq` impls.
Makes progress on #2701, #1940, #1852
gherrit-pr-id: Gda7c06c9a8e54f5afd6aa5a093406a7b71259fd31 parent 22b998f commit 591b556
File tree
5 files changed
+147
-62
lines changed- src
- pointer
- util
5 files changed
+147
-62
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
436 | 436 | | |
437 | 437 | | |
438 | 438 | | |
439 | | - | |
440 | | - | |
441 | | - | |
442 | | - | |
| 439 | + | |
| 440 | + | |
443 | 441 | | |
444 | | - | |
445 | | - | |
446 | | - | |
| 442 | + | |
| 443 | + | |
447 | 444 | | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
452 | | - | |
453 | | - | |
454 | | - | |
455 | | - | |
456 | | - | |
457 | | - | |
| 445 | + | |
| 446 | + | |
458 | 447 | | |
459 | | - | |
460 | | - | |
461 | | - | |
| 448 | + | |
| 449 | + | |
462 | 450 | | |
463 | 451 | | |
464 | 452 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
756 | 756 | | |
757 | 757 | | |
758 | 758 | | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
759 | 768 | | |
760 | 769 | | |
761 | 770 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
81 | 88 | | |
82 | 89 | | |
83 | 90 | | |
| |||
96 | 103 | | |
97 | 104 | | |
98 | 105 | | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
99 | 109 | | |
100 | 110 | | |
101 | 111 | | |
| |||
122 | 132 | | |
123 | 133 | | |
124 | 134 | | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
125 | 166 | | |
126 | 167 | | |
127 | 168 | | |
| |||
138 | 179 | | |
139 | 180 | | |
140 | 181 | | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
146 | 186 | | |
147 | 187 | | |
148 | 188 | | |
149 | 189 | | |
150 | 190 | | |
151 | 191 | | |
152 | 192 | | |
153 | | - | |
| 193 | + | |
| 194 | + | |
154 | 195 | | |
155 | 196 | | |
156 | 197 | | |
| |||
159 | 200 | | |
160 | 201 | | |
161 | 202 | | |
162 | | - | |
| 203 | + | |
163 | 204 | | |
164 | 205 | | |
165 | 206 | | |
| |||
177 | 218 | | |
178 | 219 | | |
179 | 220 | | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
180 | 235 | | |
181 | 236 | | |
182 | 237 | | |
| |||
246 | 301 | | |
247 | 302 | | |
248 | 303 | | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
249 | 317 | | |
250 | 318 | | |
251 | 319 | | |
| |||
275 | 343 | | |
276 | 344 | | |
277 | 345 | | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
278 | 349 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
77 | | - | |
| 76 | + | |
| 77 | + | |
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
115 | 124 | | |
116 | 125 | | |
117 | 126 | | |
| |||
288 | 297 | | |
289 | 298 | | |
290 | 299 | | |
291 | | - | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
292 | 303 | | |
293 | 304 | | |
294 | | - | |
295 | | - | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
296 | 308 | | |
297 | 309 | | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | | - | |
| 310 | + | |
302 | 311 | | |
303 | 312 | | |
304 | 313 | | |
| |||
452 | 461 | | |
453 | 462 | | |
454 | 463 | | |
455 | | - | |
456 | | - | |
457 | | - | |
458 | | - | |
459 | | - | |
460 | | - | |
461 | | - | |
462 | | - | |
| 464 | + | |
| 465 | + | |
463 | 466 | | |
464 | 467 | | |
465 | | - | |
466 | | - | |
467 | | - | |
| 468 | + | |
| 469 | + | |
468 | 470 | | |
469 | 471 | | |
470 | 472 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
732 | 732 | | |
733 | 733 | | |
734 | 734 | | |
735 | | - | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
736 | 738 | | |
737 | 739 | | |
738 | 740 | | |
739 | 741 | | |
740 | | - | |
| 742 | + | |
741 | 743 | | |
742 | 744 | | |
743 | 745 | | |
744 | 746 | | |
745 | 747 | | |
746 | 748 | | |
| 749 | + | |
| 750 | + | |
747 | 751 | | |
748 | | - | |
749 | | - | |
750 | | - | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
751 | 756 | | |
752 | 757 | | |
| 758 | + | |
| 759 | + | |
753 | 760 | | |
754 | | - | |
755 | | - | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
756 | 765 | | |
757 | 766 | | |
758 | 767 | | |
| |||
763 | 772 | | |
764 | 773 | | |
765 | 774 | | |
766 | | - | |
767 | | - | |
768 | | - | |
| 775 | + | |
769 | 776 | | |
770 | 777 | | |
771 | 778 | | |
| |||
796 | 803 | | |
797 | 804 | | |
798 | 805 | | |
799 | | - | |
800 | | - | |
| 806 | + | |
801 | 807 | | |
802 | 808 | | |
803 | | - | |
804 | | - | |
| 809 | + | |
805 | 810 | | |
806 | 811 | | |
807 | 812 | | |
| |||
847 | 852 | | |
848 | 853 | | |
849 | 854 | | |
| 855 | + | |
| 856 | + | |
850 | 857 | | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
851 | 862 | | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
852 | 867 | | |
853 | 868 | | |
854 | 869 | | |
| |||
857 | 872 | | |
858 | 873 | | |
859 | 874 | | |
860 | | - | |
| 875 | + | |
861 | 876 | | |
862 | 877 | | |
863 | 878 | | |
| |||
0 commit comments