Commit be65895
committed
Sema: Re-visit @Specialize attribute where clause in interface resolution stage
As with all other where clauses, we must resolve the requirements twice;
first in structural stage to build the generic signature, and second in
interface stage to check that any generic types that appear within
satisfy requirements. We weren't doing the latter for @Specialize, which
would result in SIL crashes if such invalid SIL types appeared therein.
Fixes rdar://165909327.1 parent d4ae238 commit be65895
File tree
3 files changed
+14
-1
lines changed- lib/Sema
- test/attr
3 files changed
+14
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3590 | 3590 | | |
3591 | 3591 | | |
3592 | 3592 | | |
| 3593 | + | |
| 3594 | + | |
| 3595 | + | |
| 3596 | + | |
| 3597 | + | |
| 3598 | + | |
3593 | 3599 | | |
3594 | 3600 | | |
3595 | 3601 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
602 | 602 | | |
603 | 603 | | |
604 | 604 | | |
605 | | - | |
| 605 | + | |
| 606 | + | |
606 | 607 | | |
607 | 608 | | |
608 | 609 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
405 | 405 | | |
406 | 406 | | |
407 | 407 | | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
0 commit comments