Commit d269b89
committed
Implement boxing for singleton type arguments
A type `A[b.type]` with a singleton type argument is converted to
`A[box b.type^{b}]` so that the box status is recorded. Since box status
only comes with CapturingTypes we have to convert the singleton type
to a capturing type.
Fixes #232071 parent 8f0d12b commit d269b89
File tree
6 files changed
+99
-40
lines changed- compiler/src/dotty/tools/dotc/cc
- tests
- neg-custom-args/captures
- pos-custom-args/captures
6 files changed
+99
-40
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
203 | 203 | | |
204 | 204 | | |
205 | 205 | | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
206 | 239 | | |
207 | 240 | | |
208 | 241 | | |
| |||
621 | 654 | | |
622 | 655 | | |
623 | 656 | | |
624 | | - | |
| 657 | + | |
625 | 658 | | |
626 | | - | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
627 | 663 | | |
628 | 664 | | |
629 | 665 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
684 | 684 | | |
685 | 685 | | |
686 | 686 | | |
| 687 | + | |
687 | 688 | | |
688 | 689 | | |
689 | 690 | | |
| |||
882 | 883 | | |
883 | 884 | | |
884 | 885 | | |
885 | | - | |
| 886 | + | |
886 | 887 | | |
887 | 888 | | |
888 | 889 | | |
| |||
1677 | 1678 | | |
1678 | 1679 | | |
1679 | 1680 | | |
1680 | | - | |
| 1681 | + | |
1681 | 1682 | | |
1682 | 1683 | | |
1683 | 1684 | | |
| |||
1686 | 1687 | | |
1687 | 1688 | | |
1688 | 1689 | | |
1689 | | - | |
| 1690 | + | |
| 1691 | + | |
| 1692 | + | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
1690 | 1698 | | |
1691 | 1699 | | |
1692 | 1700 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | 165 | | |
197 | 166 | | |
198 | 167 | | |
| |||
257 | 226 | | |
258 | 227 | | |
259 | 228 | | |
260 | | - | |
| 229 | + | |
261 | 230 | | |
262 | | - | |
| 231 | + | |
263 | 232 | | |
264 | 233 | | |
265 | 234 | | |
| |||
542 | 511 | | |
543 | 512 | | |
544 | 513 | | |
545 | | - | |
| 514 | + | |
546 | 515 | | |
547 | 516 | | |
548 | 517 | | |
| |||
612 | 581 | | |
613 | 582 | | |
614 | 583 | | |
615 | | - | |
| 584 | + | |
616 | 585 | | |
617 | 586 | | |
618 | 587 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
0 commit comments