Commit 7e4ed72
authored
Rollup merge of rust-lang#70558 - RalfJung:vec-extend-aliasing, r=Amanieu
Fix some aliasing issues in Vec
`Vec::extend` and `Vec::truncate` invalidated references into the vector even without reallocation, because they (implicitly) created a mutable reference covering the *entire* initialized part of the vector.
Fixes rust-lang#70301
I verified the fix by adding some new tests here that I ran in Miri.2 files changed
+79
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1351 | 1351 | | |
1352 | 1352 | | |
1353 | 1353 | | |
1354 | | - | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
1355 | 1362 | | |
1356 | 1363 | | |
1357 | 1364 | | |
1358 | | - | |
| 1365 | + | |
1359 | 1366 | | |
1360 | 1367 | | |
1361 | | - | |
1362 | | - | |
1363 | | - | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
1364 | 1371 | | |
| 1372 | + | |
| 1373 | + | |
1365 | 1374 | | |
1366 | 1375 | | |
1367 | 1376 | | |
1368 | 1377 | | |
1369 | 1378 | | |
1370 | 1379 | | |
1371 | 1380 | | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
1372 | 1433 | | |
1373 | 1434 | | |
1374 | 1435 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
740 | 740 | | |
741 | 741 | | |
742 | 742 | | |
743 | | - | |
| 743 | + | |
| 744 | + | |
744 | 745 | | |
745 | 746 | | |
746 | 747 | | |
| |||
963 | 964 | | |
964 | 965 | | |
965 | 966 | | |
| 967 | + | |
| 968 | + | |
966 | 969 | | |
967 | 970 | | |
968 | | - | |
| 971 | + | |
969 | 972 | | |
970 | | - | |
971 | | - | |
972 | | - | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
973 | 976 | | |
974 | 977 | | |
975 | 978 | | |
| |||
1200 | 1203 | | |
1201 | 1204 | | |
1202 | 1205 | | |
1203 | | - | |
| 1206 | + | |
1204 | 1207 | | |
1205 | 1208 | | |
1206 | 1209 | | |
| |||
2020 | 2023 | | |
2021 | 2024 | | |
2022 | 2025 | | |
2023 | | - | |
| 2026 | + | |
2024 | 2027 | | |
2025 | 2028 | | |
2026 | 2029 | | |
| |||
2122 | 2125 | | |
2123 | 2126 | | |
2124 | 2127 | | |
| 2128 | + | |
| 2129 | + | |
2125 | 2130 | | |
2126 | | - | |
2127 | 2131 | | |
2128 | 2132 | | |
2129 | 2133 | | |
| |||
2144 | 2148 | | |
2145 | 2149 | | |
2146 | 2150 | | |
2147 | | - | |
| 2151 | + | |
2148 | 2152 | | |
2149 | 2153 | | |
2150 | 2154 | | |
| |||
0 commit comments