Commit 96c87db
committed
Move-only-check the yielded result from read coroutines when they're noncopyable.
Mark the result of starting a read coroutine to be checked by the move-only checker, and then
update the pattern matching in the move checker itself so that it recognizes code patterns
involving yielding from and receiving yields from read coroutines. Teach move only diagnostics
to get the property name for an access through a read coroutine from the referenced declaration.1 parent 1cb92c0 commit 96c87db
File tree
6 files changed
+274
-33
lines changed- lib
- SILGen
- SILOptimizer/Mandatory
- test
- SILGen
- SILOptimizer
6 files changed
+274
-33
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4822 | 4822 | | |
4823 | 4823 | | |
4824 | 4824 | | |
| 4825 | + | |
4825 | 4826 | | |
4826 | 4827 | | |
4827 | 4828 | | |
| 4829 | + | |
| 4830 | + | |
| 4831 | + | |
| 4832 | + | |
| 4833 | + | |
4828 | 4834 | | |
| 4835 | + | |
| 4836 | + | |
| 4837 | + | |
| 4838 | + | |
| 4839 | + | |
4829 | 4840 | | |
4830 | 4841 | | |
4831 | 4842 | | |
4832 | 4843 | | |
4833 | 4844 | | |
4834 | 4845 | | |
4835 | | - | |
| 4846 | + | |
4836 | 4847 | | |
4837 | 4848 | | |
4838 | 4849 | | |
| |||
4897 | 4908 | | |
4898 | 4909 | | |
4899 | 4910 | | |
| 4911 | + | |
4900 | 4912 | | |
4901 | 4913 | | |
4902 | 4914 | | |
4903 | 4915 | | |
4904 | 4916 | | |
4905 | 4917 | | |
| 4918 | + | |
| 4919 | + | |
| 4920 | + | |
| 4921 | + | |
4906 | 4922 | | |
4907 | 4923 | | |
4908 | 4924 | | |
4909 | 4925 | | |
4910 | | - | |
4911 | | - | |
4912 | | - | |
| 4926 | + | |
| 4927 | + | |
| 4928 | + | |
| 4929 | + | |
| 4930 | + | |
| 4931 | + | |
| 4932 | + | |
| 4933 | + | |
| 4934 | + | |
| 4935 | + | |
| 4936 | + | |
| 4937 | + | |
| 4938 | + | |
| 4939 | + | |
| 4940 | + | |
| 4941 | + | |
| 4942 | + | |
| 4943 | + | |
| 4944 | + | |
4913 | 4945 | | |
| 4946 | + | |
| 4947 | + | |
4914 | 4948 | | |
4915 | 4949 | | |
4916 | 4950 | | |
| 4951 | + | |
| 4952 | + | |
| 4953 | + | |
| 4954 | + | |
| 4955 | + | |
4917 | 4956 | | |
4918 | 4957 | | |
4919 | 4958 | | |
| |||
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
950 | 950 | | |
951 | 951 | | |
952 | 952 | | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
953 | 956 | | |
954 | 957 | | |
955 | 958 | | |
| |||
1048 | 1051 | | |
1049 | 1052 | | |
1050 | 1053 | | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
1051 | 1060 | | |
1052 | 1061 | | |
1053 | 1062 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
116 | 131 | | |
117 | 132 | | |
118 | 133 | | |
| |||
132 | 147 | | |
133 | 148 | | |
134 | 149 | | |
135 | | - | |
| 150 | + | |
136 | 151 | | |
137 | 152 | | |
138 | 153 | | |
139 | 154 | | |
140 | 155 | | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
141 | 169 | | |
142 | 170 | | |
143 | 171 | | |
| |||
148 | 176 | | |
149 | 177 | | |
150 | 178 | | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
151 | 189 | | |
152 | 190 | | |
153 | 191 | | |
| |||
Lines changed: 23 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
481 | 481 | | |
482 | 482 | | |
483 | 483 | | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
484 | 489 | | |
485 | 490 | | |
486 | 491 | | |
| |||
521 | 526 | | |
522 | 527 | | |
523 | 528 | | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
524 | 547 | | |
525 | 548 | | |
526 | 549 | | |
| |||
0 commit comments