Commit e7a9bcb
committed
[TypeChecker] Type-check
Instead of using `one-way` constraints, just like in closure contexts
for-in statements should type-check their `where` clauses separately.
This also unifies and simplifies for-in preamble handling in the
solver.where clauses for for-in statements separately1 parent 25ad700 commit e7a9bcb
File tree
6 files changed
+68
-87
lines changed- include/swift/Sema
- lib/Sema
6 files changed
+68
-87
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
165 | 164 | | |
166 | 165 | | |
167 | | - | |
| 166 | + | |
168 | 167 | | |
169 | 168 | | |
170 | 169 | | |
| |||
242 | 241 | | |
243 | 242 | | |
244 | 243 | | |
245 | | - | |
246 | 244 | | |
247 | 245 | | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
252 | 249 | | |
253 | 250 | | |
254 | 251 | | |
| |||
267 | 264 | | |
268 | 265 | | |
269 | 266 | | |
270 | | - | |
| 267 | + | |
| 268 | + | |
271 | 269 | | |
272 | 270 | | |
273 | | - | |
274 | 271 | | |
275 | 272 | | |
276 | 273 | | |
| |||
372 | 369 | | |
373 | 370 | | |
374 | 371 | | |
375 | | - | |
| 372 | + | |
376 | 373 | | |
377 | 374 | | |
378 | 375 | | |
| |||
541 | 538 | | |
542 | 539 | | |
543 | 540 | | |
544 | | - | |
545 | | - | |
546 | | - | |
547 | | - | |
548 | | - | |
549 | 541 | | |
550 | 542 | | |
551 | | - | |
| 543 | + | |
552 | 544 | | |
553 | 545 | | |
554 | 546 | | |
555 | 547 | | |
556 | | - | |
| 548 | + | |
557 | 549 | | |
558 | 550 | | |
559 | 551 | | |
560 | 552 | | |
561 | | - | |
| 553 | + | |
562 | 554 | | |
563 | 555 | | |
564 | 556 | | |
| |||
585 | 577 | | |
586 | 578 | | |
587 | 579 | | |
588 | | - | |
| 580 | + | |
589 | 581 | | |
590 | 582 | | |
591 | 583 | | |
| |||
598 | 590 | | |
599 | 591 | | |
600 | 592 | | |
601 | | - | |
| 593 | + | |
602 | 594 | | |
603 | 595 | | |
604 | 596 | | |
| |||
729 | 721 | | |
730 | 722 | | |
731 | 723 | | |
732 | | - | |
| 724 | + | |
733 | 725 | | |
734 | 726 | | |
735 | 727 | | |
| |||
841 | 833 | | |
842 | 834 | | |
843 | 835 | | |
844 | | - | |
| 836 | + | |
845 | 837 | | |
846 | 838 | | |
847 | 839 | | |
| |||
884 | 876 | | |
885 | 877 | | |
886 | 878 | | |
887 | | - | |
| 879 | + | |
888 | 880 | | |
889 | 881 | | |
890 | 882 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9247 | 9247 | | |
9248 | 9248 | | |
9249 | 9249 | | |
9250 | | - | |
9251 | | - | |
9252 | | - | |
| 9250 | + | |
| 9251 | + | |
| 9252 | + | |
9253 | 9253 | | |
9254 | 9254 | | |
9255 | 9255 | | |
| |||
9374 | 9374 | | |
9375 | 9375 | | |
9376 | 9376 | | |
9377 | | - | |
9378 | | - | |
9379 | | - | |
9380 | | - | |
9381 | | - | |
9382 | | - | |
9383 | | - | |
9384 | | - | |
9385 | | - | |
9386 | | - | |
9387 | | - | |
9388 | 9377 | | |
9389 | 9378 | | |
9390 | 9379 | | |
9391 | 9380 | | |
9392 | | - | |
9393 | | - | |
| 9381 | + | |
| 9382 | + | |
9394 | 9383 | | |
9395 | 9384 | | |
9396 | 9385 | | |
| |||
9412 | 9401 | | |
9413 | 9402 | | |
9414 | 9403 | | |
9415 | | - | |
9416 | | - | |
| 9404 | + | |
| 9405 | + | |
9417 | 9406 | | |
9418 | 9407 | | |
9419 | 9408 | | |
9420 | 9409 | | |
9421 | 9410 | | |
9422 | 9411 | | |
9423 | 9412 | | |
9424 | | - | |
| 9413 | + | |
9425 | 9414 | | |
9426 | 9415 | | |
9427 | 9416 | | |
| |||
9430 | 9419 | | |
9431 | 9420 | | |
9432 | 9421 | | |
9433 | | - | |
| 9422 | + | |
9434 | 9423 | | |
9435 | 9424 | | |
9436 | 9425 | | |
| |||
9664 | 9653 | | |
9665 | 9654 | | |
9666 | 9655 | | |
9667 | | - | |
9668 | | - | |
| 9656 | + | |
| 9657 | + | |
| 9658 | + | |
9669 | 9659 | | |
9670 | 9660 | | |
9671 | | - | |
| 9661 | + | |
9672 | 9662 | | |
9673 | 9663 | | |
9674 | 9664 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3660 | 3660 | | |
3661 | 3661 | | |
3662 | 3662 | | |
3663 | | - | |
3664 | | - | |
| 3663 | + | |
3665 | 3664 | | |
3666 | 3665 | | |
3667 | 3666 | | |
| |||
3835 | 3834 | | |
3836 | 3835 | | |
3837 | 3836 | | |
3838 | | - | |
3839 | | - | |
3840 | | - | |
3841 | | - | |
3842 | | - | |
3843 | | - | |
3844 | | - | |
3845 | | - | |
3846 | | - | |
3847 | | - | |
3848 | | - | |
3849 | | - | |
3850 | | - | |
3851 | | - | |
3852 | | - | |
3853 | | - | |
3854 | | - | |
3855 | | - | |
3856 | 3837 | | |
3857 | 3838 | | |
3858 | 3839 | | |
| |||
3904 | 3885 | | |
3905 | 3886 | | |
3906 | 3887 | | |
3907 | | - | |
3908 | | - | |
| 3888 | + | |
| 3889 | + | |
3909 | 3890 | | |
3910 | 3891 | | |
3911 | 3892 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
686 | 686 | | |
687 | 687 | | |
688 | 688 | | |
689 | | - | |
690 | | - | |
691 | | - | |
692 | | - | |
693 | 689 | | |
694 | | - | |
695 | | - | |
| 690 | + | |
696 | 691 | | |
697 | 692 | | |
698 | 693 | | |
| |||
1898 | 1893 | | |
1899 | 1894 | | |
1900 | 1895 | | |
1901 | | - | |
1902 | | - | |
1903 | | - | |
| 1896 | + | |
| 1897 | + | |
1904 | 1898 | | |
| 1899 | + | |
| 1900 | + | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
1905 | 1910 | | |
1906 | 1911 | | |
1907 | 1912 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | | - | |
196 | 195 | | |
197 | | - | |
| 196 | + | |
198 | 197 | | |
199 | 198 | | |
200 | 199 | | |
| |||
234 | 233 | | |
235 | 234 | | |
236 | 235 | | |
237 | | - | |
238 | | - | |
| 236 | + | |
| 237 | + | |
239 | 238 | | |
240 | 239 | | |
241 | 240 | | |
| |||
400 | 399 | | |
401 | 400 | | |
402 | 401 | | |
403 | | - | |
| 402 | + | |
404 | 403 | | |
405 | 404 | | |
406 | 405 | | |
| |||
421 | 420 | | |
422 | 421 | | |
423 | 422 | | |
424 | | - | |
425 | | - | |
| 423 | + | |
426 | 424 | | |
427 | 425 | | |
428 | 426 | | |
| |||
458 | 456 | | |
459 | 457 | | |
460 | 458 | | |
461 | | - | |
| 459 | + | |
462 | 460 | | |
463 | 461 | | |
464 | 462 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
890 | 890 | | |
891 | 891 | | |
892 | 892 | | |
893 | | - | |
894 | | - | |
| 893 | + | |
| 894 | + | |
895 | 895 | | |
896 | 896 | | |
897 | 897 | | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
898 | 913 | | |
899 | 914 | | |
900 | 915 | | |
| |||
0 commit comments