Commit d3e4cbb
Carry unsealed slot through
`array_splice` removes a slice at an explicit offset and inserts a
replacement at that position. Real unsealed extras live at
positions past the explicit keys, so they're not affected by either
operation; the re-indexing of int keys also leaves a `<int, V>`
unsealed range unchanged.
Pass the source's unsealed tuple into the builder before producing
the result for each replacement variant.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>ConstantArrayType::spliceArray()
1 parent 97829f9 commit d3e4cbb
2 files changed
Lines changed: 27 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1857 | 1857 | | |
1858 | 1858 | | |
1859 | 1859 | | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
| 1866 | + | |
| 1867 | + | |
| 1868 | + | |
| 1869 | + | |
1860 | 1870 | | |
1861 | 1871 | | |
1862 | 1872 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
514 | 514 | | |
515 | 515 | | |
516 | 516 | | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
517 | 534 | | |
518 | 535 | | |
519 | 536 | | |
| |||
0 commit comments