Commit 75b4b1b
committed
auto merge of #7882 : blake2-ppc/rust/iterator-clone, r=thestinger
Implement method .cycle() that repeats an iterator endlessly
Implement Clone for simple iterators (without closures), including VecIterator.
> The theory is simple, the immutable iterators simply hold state
> variables (indicies or pointers) into frozen containers. We can freely
> clone these iterators, just like we can clone borrowed pointers.File tree
5 files changed
+120
-0
lines changed- src
- libextra
- libstd
5 files changed
+120
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
| |||
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| 66 | + | |
65 | 67 | | |
66 | 68 | | |
67 | 69 | | |
| |||
93 | 95 | | |
94 | 96 | | |
95 | 97 | | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
96 | 105 | | |
97 | 106 | | |
98 | 107 | | |
| |||
686 | 695 | | |
687 | 696 | | |
688 | 697 | | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
689 | 712 | | |
690 | 713 | | |
691 | 714 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
548 | 548 | | |
549 | 549 | | |
550 | 550 | | |
| 551 | + | |
551 | 552 | | |
552 | 553 | | |
553 | 554 | | |
| |||
563 | 564 | | |
564 | 565 | | |
565 | 566 | | |
| 567 | + | |
566 | 568 | | |
567 | 569 | | |
568 | 570 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| 77 | + | |
77 | 78 | | |
78 | 79 | | |
79 | 80 | | |
| |||
729 | 730 | | |
730 | 731 | | |
731 | 732 | | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
732 | 783 | | |
733 | 784 | | |
| 785 | + | |
734 | 786 | | |
735 | 787 | | |
736 | 788 | | |
| |||
786 | 838 | | |
787 | 839 | | |
788 | 840 | | |
| 841 | + | |
789 | 842 | | |
790 | 843 | | |
791 | 844 | | |
| |||
939 | 992 | | |
940 | 993 | | |
941 | 994 | | |
| 995 | + | |
942 | 996 | | |
943 | 997 | | |
944 | 998 | | |
| |||
1037 | 1091 | | |
1038 | 1092 | | |
1039 | 1093 | | |
| 1094 | + | |
1040 | 1095 | | |
1041 | 1096 | | |
1042 | 1097 | | |
| |||
1085 | 1140 | | |
1086 | 1141 | | |
1087 | 1142 | | |
| 1143 | + | |
1088 | 1144 | | |
1089 | 1145 | | |
1090 | 1146 | | |
| |||
1236 | 1292 | | |
1237 | 1293 | | |
1238 | 1294 | | |
| 1295 | + | |
1239 | 1296 | | |
1240 | 1297 | | |
1241 | 1298 | | |
| |||
1437 | 1494 | | |
1438 | 1495 | | |
1439 | 1496 | | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
1440 | 1511 | | |
1441 | 1512 | | |
1442 | 1513 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
288 | 288 | | |
289 | 289 | | |
290 | 290 | | |
| 291 | + | |
291 | 292 | | |
292 | 293 | | |
293 | 294 | | |
| |||
355 | 356 | | |
356 | 357 | | |
357 | 358 | | |
| 359 | + | |
358 | 360 | | |
359 | 361 | | |
360 | 362 | | |
| |||
363 | 365 | | |
364 | 366 | | |
365 | 367 | | |
| 368 | + | |
366 | 369 | | |
367 | 370 | | |
368 | 371 | | |
| |||
2269 | 2272 | | |
2270 | 2273 | | |
2271 | 2274 | | |
| 2275 | + | |
2272 | 2276 | | |
2273 | 2277 | | |
2274 | 2278 | | |
| |||
2288 | 2292 | | |
2289 | 2293 | | |
2290 | 2294 | | |
| 2295 | + | |
2291 | 2296 | | |
2292 | 2297 | | |
2293 | 2298 | | |
| |||
2308 | 2313 | | |
2309 | 2314 | | |
2310 | 2315 | | |
| 2316 | + | |
2311 | 2317 | | |
2312 | 2318 | | |
2313 | 2319 | | |
| |||
2321 | 2327 | | |
2322 | 2328 | | |
2323 | 2329 | | |
| 2330 | + | |
2324 | 2331 | | |
2325 | 2332 | | |
2326 | 2333 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2232 | 2232 | | |
2233 | 2233 | | |
2234 | 2234 | | |
| 2235 | + | |
| 2236 | + | |
| 2237 | + | |
| 2238 | + | |
2235 | 2239 | | |
2236 | 2240 | | |
2237 | 2241 | | |
| |||
2244 | 2248 | | |
2245 | 2249 | | |
2246 | 2250 | | |
| 2251 | + | |
2247 | 2252 | | |
2248 | 2253 | | |
2249 | 2254 | | |
| |||
2270 | 2275 | | |
2271 | 2276 | | |
2272 | 2277 | | |
| 2278 | + | |
2273 | 2279 | | |
2274 | 2280 | | |
2275 | 2281 | | |
| |||
3185 | 3191 | | |
3186 | 3192 | | |
3187 | 3193 | | |
| 3194 | + | |
| 3195 | + | |
| 3196 | + | |
| 3197 | + | |
| 3198 | + | |
| 3199 | + | |
| 3200 | + | |
| 3201 | + | |
| 3202 | + | |
| 3203 | + | |
| 3204 | + | |
3188 | 3205 | | |
3189 | 3206 | | |
3190 | 3207 | | |
| |||
0 commit comments