Commit 10503b0
authored
Reimplement support for type aliases in SAM types (#18317)
This was dropped in #18201 which restricted SAM types to valid parent
types, but it turns out that there is code in the wild that relies on
refinements being allowed here.
To support this properly, we had to enhance ExpandSAMs to move
refinements into type members to pass Ycheck (previous Scala 3 releases
would accept the code in tests/run/i18315.scala but fail Ycheck).
Fixes #18315.
This should be backported to any branch where #18201 is backported.File tree
4 files changed
+84
-45
lines changed- compiler/src/dotty/tools/dotc
- ast
- core
- transform
- tests/run
4 files changed
+84
-45
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
352 | | - | |
| 352 | + | |
353 | 353 | | |
354 | | - | |
355 | | - | |
356 | | - | |
357 | | - | |
358 | | - | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
359 | 360 | | |
360 | | - | |
361 | | - | |
362 | | - | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
363 | 365 | | |
364 | 366 | | |
365 | 367 | | |
366 | 368 | | |
367 | 369 | | |
368 | 370 | | |
369 | | - | |
| 371 | + | |
| 372 | + | |
370 | 373 | | |
371 | 374 | | |
372 | 375 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5536 | 5536 | | |
5537 | 5537 | | |
5538 | 5538 | | |
| 5539 | + | |
| 5540 | + | |
| 5541 | + | |
5539 | 5542 | | |
5540 | 5543 | | |
5541 | 5544 | | |
5542 | 5545 | | |
5543 | 5546 | | |
5544 | 5547 | | |
5545 | | - | |
| 5548 | + | |
5546 | 5549 | | |
5547 | 5550 | | |
5548 | 5551 | | |
| |||
5572 | 5575 | | |
5573 | 5576 | | |
5574 | 5577 | | |
5575 | | - | |
| 5578 | + | |
| 5579 | + | |
| 5580 | + | |
| 5581 | + | |
| 5582 | + | |
| 5583 | + | |
| 5584 | + | |
| 5585 | + | |
| 5586 | + | |
| 5587 | + | |
5576 | 5588 | | |
5577 | | - | |
5578 | | - | |
5579 | | - | |
5580 | | - | |
5581 | | - | |
5582 | | - | |
5583 | | - | |
5584 | | - | |
5585 | | - | |
5586 | | - | |
5587 | | - | |
5588 | | - | |
5589 | | - | |
5590 | | - | |
5591 | | - | |
5592 | | - | |
5593 | | - | |
5594 | | - | |
5595 | | - | |
| 5589 | + | |
| 5590 | + | |
| 5591 | + | |
| 5592 | + | |
| 5593 | + | |
| 5594 | + | |
| 5595 | + | |
| 5596 | + | |
| 5597 | + | |
| 5598 | + | |
| 5599 | + | |
| 5600 | + | |
| 5601 | + | |
| 5602 | + | |
| 5603 | + | |
| 5604 | + | |
| 5605 | + | |
| 5606 | + | |
| 5607 | + | |
| 5608 | + | |
| 5609 | + | |
| 5610 | + | |
| 5611 | + | |
| 5612 | + | |
5596 | 5613 | | |
5597 | 5614 | | |
5598 | 5615 | | |
| |||
Lines changed: 18 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
54 | | - | |
55 | | - | |
| 55 | + | |
56 | 56 | | |
57 | | - | |
58 | 57 | | |
59 | 58 | | |
60 | | - | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
61 | 70 | | |
62 | 71 | | |
63 | | - | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
64 | 77 | | |
65 | 78 | | |
66 | 79 | | |
| |||
171 | 184 | | |
172 | 185 | | |
173 | 186 | | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | 187 | | |
| 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 | + | |
0 commit comments