Commit 0171fe5
authored
Rollup merge of #59519 - eddyb:layout-variants-refactor, r=oli-obk
rustc_target: factor out common fields of non-Single Variants.
@tmandry and I were discussing ways to generalize the current variants/discriminant layout to allow more fields in the "`enum`" (or another multi-variant types, such as potentially generator state, in the future), shared by all variants, than just the tag/niche discriminant.
This refactor should make it easier to extend multi-variant layouts, as nothing is duplicating anymore between "tagged enums" and "niche-filling enums".
r? @oli-obkFile tree
12 files changed
+193
-134
lines changed- src
- librustc_codegen_llvm
- debuginfo
- librustc_codegen_ssa/mir
- librustc_lint
- librustc_mir/interpret
- librustc_target/abi
- call
- librustc/ty
12 files changed
+193
-134
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
913 | 913 | | |
914 | 914 | | |
915 | 915 | | |
916 | | - | |
917 | | - | |
918 | | - | |
919 | | - | |
920 | | - | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
921 | 923 | | |
922 | 924 | | |
923 | 925 | | |
| |||
1137 | 1139 | | |
1138 | 1140 | | |
1139 | 1141 | | |
1140 | | - | |
1141 | | - | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
1142 | 1145 | | |
1143 | 1146 | | |
1144 | 1147 | | |
| |||
1293 | 1296 | | |
1294 | 1297 | | |
1295 | 1298 | | |
1296 | | - | |
1297 | | - | |
| 1299 | + | |
1298 | 1300 | | |
1299 | 1301 | | |
1300 | 1302 | | |
| |||
1306 | 1308 | | |
1307 | 1309 | | |
1308 | 1310 | | |
1309 | | - | |
1310 | | - | |
| 1311 | + | |
| 1312 | + | |
1311 | 1313 | | |
1312 | 1314 | | |
1313 | 1315 | | |
| |||
1627 | 1629 | | |
1628 | 1630 | | |
1629 | 1631 | | |
1630 | | - | |
1631 | | - | |
| 1632 | + | |
1632 | 1633 | | |
1633 | 1634 | | |
1634 | 1635 | | |
| |||
1735 | 1736 | | |
1736 | 1737 | | |
1737 | 1738 | | |
1738 | | - | |
1739 | | - | |
| 1739 | + | |
1740 | 1740 | | |
1741 | 1741 | | |
1742 | 1742 | | |
| |||
1881 | 1881 | | |
1882 | 1882 | | |
1883 | 1883 | | |
1884 | | - | |
1885 | | - | |
| 1884 | + | |
| 1885 | + | |
| 1886 | + | |
1886 | 1887 | | |
1887 | 1888 | | |
1888 | | - | |
| 1889 | + | |
| 1890 | + | |
1889 | 1891 | | |
1890 | 1892 | | |
1891 | | - | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
| 1897 | + | |
| 1898 | + | |
| 1899 | + | |
| 1900 | + | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
1892 | 1907 | | |
1893 | 1908 | | |
1894 | | - | |
1895 | 1909 | | |
1896 | | - | |
1897 | 1910 | | |
1898 | 1911 | | |
1899 | 1912 | | |
1900 | 1913 | | |
1901 | | - | |
1902 | 1914 | | |
1903 | | - | |
1904 | 1915 | | |
1905 | 1916 | | |
1906 | 1917 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1246 | 1246 | | |
1247 | 1247 | | |
1248 | 1248 | | |
1249 | | - | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
1250 | 1254 | | |
1251 | 1255 | | |
1252 | 1256 | | |
| |||
1288 | 1292 | | |
1289 | 1293 | | |
1290 | 1294 | | |
1291 | | - | |
1292 | | - | |
1293 | | - | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
1294 | 1302 | | |
1295 | | - | |
1296 | | - | |
1297 | 1303 | | |
1298 | 1304 | | |
1299 | 1305 | | |
| |||
1380 | 1386 | | |
1381 | 1387 | | |
1382 | 1388 | | |
1383 | | - | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
1384 | 1394 | | |
1385 | 1395 | | |
1386 | 1396 | | |
| |||
1597 | 1607 | | |
1598 | 1608 | | |
1599 | 1609 | | |
1600 | | - | |
1601 | | - | |
| 1610 | + | |
| 1611 | + | |
| 1612 | + | |
| 1613 | + | |
| 1614 | + | |
1602 | 1615 | | |
1603 | 1616 | | |
1604 | 1617 | | |
| |||
1610 | 1623 | | |
1611 | 1624 | | |
1612 | 1625 | | |
1613 | | - | |
1614 | | - | |
1615 | | - | |
| 1626 | + | |
| 1627 | + | |
| 1628 | + | |
| 1629 | + | |
| 1630 | + | |
| 1631 | + | |
| 1632 | + | |
| 1633 | + | |
| 1634 | + | |
| 1635 | + | |
1616 | 1636 | | |
1617 | 1637 | | |
1618 | 1638 | | |
| |||
1647 | 1667 | | |
1648 | 1668 | | |
1649 | 1669 | | |
1650 | | - | |
| 1670 | + | |
1651 | 1671 | | |
1652 | | - | |
| 1672 | + | |
1653 | 1673 | | |
1654 | | - | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
1655 | 1679 | | |
1656 | | - | |
1657 | | - | |
| 1680 | + | |
| 1681 | + | |
1658 | 1682 | | |
1659 | | - | |
| 1683 | + | |
1660 | 1684 | | |
1661 | 1685 | | |
1662 | 1686 | | |
| |||
1679 | 1703 | | |
1680 | 1704 | | |
1681 | 1705 | | |
1682 | | - | |
1683 | | - | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
| 1711 | + | |
1684 | 1712 | | |
1685 | 1713 | | |
1686 | 1714 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
452 | 452 | | |
453 | 453 | | |
454 | 454 | | |
455 | | - | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
456 | 462 | | |
457 | 463 | | |
458 | 464 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
219 | | - | |
| 219 | + | |
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
226 | | - | |
227 | | - | |
228 | | - | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
229 | 230 | | |
230 | 231 | | |
231 | 232 | | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
239 | 239 | | |
240 | | - | |
| 240 | + | |
241 | 241 | | |
242 | 242 | | |
243 | 243 | | |
244 | 244 | | |
245 | | - | |
| 245 | + | |
246 | 246 | | |
247 | 247 | | |
248 | 248 | | |
249 | | - | |
250 | 249 | | |
251 | 250 | | |
252 | 251 | | |
| |||
291 | 290 | | |
292 | 291 | | |
293 | 292 | | |
294 | | - | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
295 | 297 | | |
296 | 298 | | |
297 | 299 | | |
| |||
301 | 303 | | |
302 | 304 | | |
303 | 305 | | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
308 | 312 | | |
309 | 313 | | |
310 | 314 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
282 | 282 | | |
283 | 283 | | |
284 | 284 | | |
285 | | - | |
286 | | - | |
| 285 | + | |
287 | 286 | | |
288 | 287 | | |
289 | 288 | | |
| |||
0 commit comments