Commit 35730d6
committed
Sema: Don't be so eager to force type witnesses when resolving a value witness
resolveWitnessViaLookup() was only called from one place and didn't
need to force anything at all, and resolveSingleWitness() now only
forces the type witnesses actually referenced by the requirement.
An old crasher test case that was considered "fixed" when we started
to diagnose it now type checks correctly.1 parent 82e7631 commit 35730d6
File tree
4 files changed
+35
-30
lines changed- lib/Sema
- test
- decl/protocol/req
- multifile
4 files changed
+35
-30
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4121 | 4121 | | |
4122 | 4122 | | |
4123 | 4123 | | |
| 4124 | + | |
| 4125 | + | |
| 4126 | + | |
| 4127 | + | |
| 4128 | + | |
| 4129 | + | |
| 4130 | + | |
| 4131 | + | |
4124 | 4132 | | |
4125 | 4133 | | |
4126 | 4134 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4018 | 4018 | | |
4019 | 4019 | | |
4020 | 4020 | | |
4021 | | - | |
4022 | | - | |
4023 | | - | |
4024 | | - | |
4025 | | - | |
4026 | | - | |
4027 | | - | |
4028 | | - | |
4029 | | - | |
4030 | | - | |
4031 | | - | |
4032 | | - | |
4033 | | - | |
4034 | | - | |
4035 | | - | |
4036 | | - | |
4037 | 4021 | | |
4038 | 4022 | | |
4039 | 4023 | | |
| |||
4537 | 4521 | | |
4538 | 4522 | | |
4539 | 4523 | | |
4540 | | - | |
4541 | | - | |
4542 | | - | |
4543 | | - | |
4544 | | - | |
4545 | | - | |
4546 | | - | |
4547 | | - | |
| 4524 | + | |
| 4525 | + | |
| 4526 | + | |
| 4527 | + | |
4548 | 4528 | | |
4549 | 4529 | | |
4550 | | - | |
4551 | | - | |
| 4530 | + | |
4552 | 4531 | | |
4553 | 4532 | | |
4554 | 4533 | | |
| |||
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
3 | 10 | | |
4 | 11 | | |
5 | 12 | | |
6 | 13 | | |
7 | | - | |
8 | | - | |
| 14 | + | |
0 commit comments